mirror of
https://github.com/github/codeql.git
synced 2025-12-18 09:43:15 +01:00
Python: Add invoke model
This commit is contained in:
committed by
Rasmus Wriedt Larsen
parent
699b6b8bef
commit
cdb0ac524d
@@ -7,12 +7,15 @@ private import python
|
|||||||
private import semmle.python.dataflow.new.DataFlow
|
private import semmle.python.dataflow.new.DataFlow
|
||||||
private import semmle.python.Concepts
|
private import semmle.python.Concepts
|
||||||
private import semmle.python.ApiGraphs
|
private import semmle.python.ApiGraphs
|
||||||
|
private import semmle.python.frameworks.data.ModelsAsData
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* INTERNAL: Do not use.
|
||||||
|
*
|
||||||
* Provides models for the `invoke` PyPI package.
|
* Provides models for the `invoke` PyPI package.
|
||||||
* See https://www.pyinvoke.org/.
|
* See https://www.pyinvoke.org/.
|
||||||
*/
|
*/
|
||||||
private module Invoke {
|
module Invoke {
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// invoke
|
// invoke
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
@@ -30,6 +33,8 @@ private module Invoke {
|
|||||||
result = API::moduleImport("invoke").getMember("context").getMember("Context")
|
result = API::moduleImport("invoke").getMember("context").getMember("Context")
|
||||||
or
|
or
|
||||||
result = API::moduleImport("invoke").getMember("Context")
|
result = API::moduleImport("invoke").getMember("Context")
|
||||||
|
or
|
||||||
|
result = ModelOutput::getATypeNode("invoke.context.Context~Subclass").getASubclass*()
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Gets a reference to an instance of `invoke.context.Context`. */
|
/** Gets a reference to an instance of `invoke.context.Context`. */
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ private import semmle.python.frameworks.ClickhouseDriver
|
|||||||
private import semmle.python.frameworks.Aiohttp
|
private import semmle.python.frameworks.Aiohttp
|
||||||
private import semmle.python.frameworks.Fabric
|
private import semmle.python.frameworks.Fabric
|
||||||
private import semmle.python.frameworks.Httpx
|
private import semmle.python.frameworks.Httpx
|
||||||
|
private import semmle.python.frameworks.Invoke
|
||||||
import semmle.python.frameworks.data.internal.ApiGraphModelsExtensions as Extensions
|
import semmle.python.frameworks.data.internal.ApiGraphModelsExtensions as Extensions
|
||||||
|
|
||||||
class FlaskViewClasses extends FindSubclassesSpec {
|
class FlaskViewClasses extends FindSubclassesSpec {
|
||||||
@@ -294,6 +295,14 @@ class HttpxClient extends FindSubclassesSpec {
|
|||||||
override API::Node getAlreadyModeledClass() { result = HttpxModel::Client::classRef() }
|
override API::Node getAlreadyModeledClass() { result = HttpxModel::Client::classRef() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class InvokeContext extends FindSubclassesSpec {
|
||||||
|
InvokeContext() { this = "invoke.context.Context~Subclass" }
|
||||||
|
|
||||||
|
override API::Node getAlreadyModeledClass() {
|
||||||
|
result = Invoke::InvokeModule::Context::ContextClass::classRef()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bindingset[fullyQualified]
|
bindingset[fullyQualified]
|
||||||
predicate fullyQualifiedToYamlFormat(string fullyQualified, string type2, string path) {
|
predicate fullyQualifiedToYamlFormat(string fullyQualified, string type2, string path) {
|
||||||
exists(int firstDot | firstDot = fullyQualified.indexOf(".", 0, 0) |
|
exists(int firstDot | firstDot = fullyQualified.indexOf(".", 0, 0) |
|
||||||
|
|||||||
Reference in New Issue
Block a user