C++/C#/Go: Align ExternalFlowExtensions with Java.

This commit is contained in:
Anders Schack-Mulligen
2025-12-11 08:14:37 +01:00
parent cb578e32ab
commit f0e7f1af2c
3 changed files with 73 additions and 0 deletions

View File

@@ -2,6 +2,8 @@
* This module provides extensible predicates for defining MaD models. * This module provides extensible predicates for defining MaD models.
*/ */
private import codeql.mad.static.MaD as SharedMaD
/** /**
* Holds if an external source model exists for the given parameters. * Holds if an external source model exists for the given parameters.
*/ */
@@ -18,6 +20,22 @@ extensible predicate sinkModel(
string input, string kind, string provenance, QlBuiltins::ExtensionId madId string input, string kind, string provenance, QlBuiltins::ExtensionId madId
); );
/**
* Holds if a barrier model exists for the given parameters.
*/
extensible predicate barrierModel(
string namespace, string type, boolean subtypes, string name, string signature, string ext,
string output, string kind, string provenance, QlBuiltins::ExtensionId madId
);
/**
* Holds if a barrier guard model exists for the given parameters.
*/
extensible predicate barrierGuardModel(
string namespace, string type, boolean subtypes, string name, string signature, string ext,
string input, string acceptingvalue, string kind, string provenance, QlBuiltins::ExtensionId madId
);
/** /**
* Holds if an external summary model exists for the given parameters. * Holds if an external summary model exists for the given parameters.
*/ */
@@ -25,3 +43,14 @@ extensible predicate summaryModel(
string namespace, string type, boolean subtypes, string name, string signature, string ext, string namespace, string type, boolean subtypes, string name, string signature, string ext,
string input, string output, string kind, string provenance, QlBuiltins::ExtensionId madId string input, string output, string kind, string provenance, QlBuiltins::ExtensionId madId
); );
/**
* Holds if a neutral model exists for the given parameters.
*/
extensible predicate neutralModel(
string namespace, string type, string name, string signature, string kind, string provenance
);
module Extensions implements SharedMaD::ExtensionsSig {
import ExternalFlowExtensions
}

View File

@@ -2,6 +2,8 @@
* This module provides extensible predicates for defining MaD models. * This module provides extensible predicates for defining MaD models.
*/ */
private import codeql.mad.static.MaD as SharedMaD
/** /**
* Holds if a source model exists for the given parameters. * Holds if a source model exists for the given parameters.
*/ */
@@ -18,6 +20,22 @@ extensible predicate sinkModel(
string input, string kind, string provenance, QlBuiltins::ExtensionId madId string input, string kind, string provenance, QlBuiltins::ExtensionId madId
); );
/**
* Holds if a barrier model exists for the given parameters.
*/
extensible predicate barrierModel(
string namespace, string type, boolean subtypes, string name, string signature, string ext,
string output, string kind, string provenance, QlBuiltins::ExtensionId madId
);
/**
* Holds if a barrier guard model exists for the given parameters.
*/
extensible predicate barrierGuardModel(
string namespace, string type, boolean subtypes, string name, string signature, string ext,
string input, string acceptingvalue, string kind, string provenance, QlBuiltins::ExtensionId madId
);
/** /**
* Holds if a summary model exists for the given parameters. * Holds if a summary model exists for the given parameters.
*/ */
@@ -32,3 +50,7 @@ extensible predicate summaryModel(
extensible predicate neutralModel( extensible predicate neutralModel(
string namespace, string type, string name, string signature, string kind, string provenance string namespace, string type, string name, string signature, string kind, string provenance
); );
module Extensions implements SharedMaD::ExtensionsSig {
import ExternalFlowExtensions
}

View File

@@ -2,6 +2,8 @@
* This module provides extensible predicates for defining MaD models. * This module provides extensible predicates for defining MaD models.
*/ */
private import codeql.mad.static.MaD as SharedMaD
/** /**
* Holds if a source model exists for the given parameters. * Holds if a source model exists for the given parameters.
*/ */
@@ -18,6 +20,22 @@ extensible predicate sinkModel(
string input, string kind, string provenance, QlBuiltins::ExtensionId madId string input, string kind, string provenance, QlBuiltins::ExtensionId madId
); );
/**
* Holds if a barrier model exists for the given parameters.
*/
extensible predicate barrierModel(
string package, string type, boolean subtypes, string name, string signature, string ext,
string output, string kind, string provenance, QlBuiltins::ExtensionId madId
);
/**
* Holds if a barrier guard model exists for the given parameters.
*/
extensible predicate barrierGuardModel(
string package, string type, boolean subtypes, string name, string signature, string ext,
string input, string acceptingvalue, string kind, string provenance, QlBuiltins::ExtensionId madId
);
/** /**
* Holds if a summary model exists for the given parameters. * Holds if a summary model exists for the given parameters.
*/ */
@@ -37,3 +55,7 @@ extensible predicate neutralModel(
* Holds if the package `package` is part of the group `group`. * Holds if the package `package` is part of the group `group`.
*/ */
extensible predicate packageGrouping(string group, string package); extensible predicate packageGrouping(string group, string package);
module Extensions implements SharedMaD::ExtensionsSig {
import ExternalFlowExtensions
}