JS: Add instantiation boilerplate

Note that this commit won't compile on its own, but putting the boilerplate in its own commit
This commit is contained in:
Asger F
2023-10-03 10:06:02 +02:00
parent c839822eb9
commit 3455463e71
6 changed files with 33 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
private import codeql.dataflow.DataFlow
private import DataFlowArg
import DataFlowMake<JSDataFlow>
import DataFlowImplSpecific::Public

View File

@@ -0,0 +1,19 @@
private import DataFlowImplSpecific
private import codeql.dataflow.DataFlow as SharedDataFlow
private import codeql.dataflow.TaintTracking as SharedTaintTracking
module JSDataFlow implements SharedDataFlow::InputSig {
import Private
import Public
// Explicitly implement signature members that have a default
predicate typeStrongerThan = Private::typeStrongerThan/2;
predicate neverSkipInPathGraph = Private::neverSkipInPathGraph/1;
predicate accessPathLimit = Private::accessPathLimit/0;
}
module JSTaintFlow implements SharedTaintTracking::InputSig<JSDataFlow> {
import semmle.javascript.dataflow.internal.TaintTrackingPrivate
}

View File

@@ -0,0 +1,3 @@
private import codeql.dataflow.internal.DataFlowImpl
private import DataFlowArg
import MakeImpl<JSDataFlow>

View File

@@ -0,0 +1,3 @@
private import DataFlowArg
private import codeql.dataflow.internal.DataFlowImplCommon
import MakeImplCommon<JSDataFlow>

View File

@@ -0,0 +1,3 @@
private import codeql.dataflow.TaintTracking
private import DataFlowArg
import TaintFlowMake<JSDataFlow, JSTaintFlow>