mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Merge branch 'main' into rust-ti-implementing-type-method
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,7 @@ signature module ModelPrintingLangSig {
|
||||
}
|
||||
|
||||
module ModelPrintingImpl<ModelPrintingLangSig Lang> {
|
||||
signature module ModelPrintingSig {
|
||||
signature module ModelPrintingSummarySig {
|
||||
/**
|
||||
* The class of APIs relevant for model generation.
|
||||
*/
|
||||
@@ -24,6 +24,16 @@ module ModelPrintingImpl<ModelPrintingLangSig Lang> {
|
||||
Lang::Callable lift();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the string representation of the provenance of the models.
|
||||
*/
|
||||
string getProvenance();
|
||||
}
|
||||
|
||||
signature module ModelPrintingSourceOrSinkSig {
|
||||
/**
|
||||
* The class of APIs relevant for model generation.
|
||||
*/
|
||||
class SourceOrSinkApi extends Lang::Callable;
|
||||
|
||||
/**
|
||||
@@ -32,14 +42,14 @@ module ModelPrintingImpl<ModelPrintingLangSig Lang> {
|
||||
string getProvenance();
|
||||
}
|
||||
|
||||
module ModelPrinting<ModelPrintingSig Printing> {
|
||||
/**
|
||||
* Computes the first columns for MaD rows used for summaries, sources and sinks.
|
||||
*/
|
||||
private string asPartialModel(Lang::Callable api) {
|
||||
result = strictconcat(int i | | Lang::partialModelRow(api, i), ";" order by i) + ";"
|
||||
}
|
||||
/**
|
||||
* Computes the first columns for MaD rows used for summaries, sources and sinks.
|
||||
*/
|
||||
private string asPartialModel(Lang::Callable api) {
|
||||
result = strictconcat(int i | | Lang::partialModelRow(api, i), ";" order by i) + ";"
|
||||
}
|
||||
|
||||
module ModelPrintingSummary<ModelPrintingSummarySig Printing> {
|
||||
/**
|
||||
* Computes the first columns for neutral MaD rows.
|
||||
*/
|
||||
@@ -106,7 +116,9 @@ module ModelPrintingImpl<ModelPrintingLangSig Lang> {
|
||||
preservesValue = false and
|
||||
result = asSummaryModel(api, input, output, "taint", lift)
|
||||
}
|
||||
}
|
||||
|
||||
module ModelPrintingSourceOrSink<ModelPrintingSourceOrSinkSig Printing> {
|
||||
/**
|
||||
* Gets the sink model for `api` with `input` and `kind`.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user