Add stub implementations of flowCheckNodeSpecific

This commit is contained in:
Owen Mansel-Chan
2023-06-14 14:36:45 +01:00
parent e0f7437d40
commit 5f72ce0935
8 changed files with 40 additions and 0 deletions

View File

@@ -235,6 +235,11 @@ class CastNode extends Node {
CastNode() { none() } // stub implementation
}
/**
* Holds if `n` should be a FlowCheckNode, which will appear in path summaries.
*/
predicate flowCheckNodeSpecific(Node n) { none() }
class DataFlowCallable = Function;
class DataFlowExpr = Expr;

View File

@@ -783,6 +783,11 @@ class CastNode extends Node {
CastNode() { none() } // stub implementation
}
/**
* Holds if `n` should be a FlowCheckNode, which will appear in path summaries.
*/
predicate flowCheckNodeSpecific(Node n) { none() }
/**
* A function that may contain code or a variable that may contain itself. When
* flow crosses from one _enclosing callable_ to another, the interprocedural

View File

@@ -2147,6 +2147,11 @@ class CastNode extends Node {
}
}
/**
* Holds if `n` should be a FlowCheckNode, which will appear in path summaries.
*/
predicate flowCheckNodeSpecific(Node n) { none() }
class DataFlowExpr = DotNet::Expr;
/** Holds if `e` is an expression that always has the same Boolean value `val`. */

View File

@@ -228,6 +228,11 @@ class CastNode extends ExprNode {
override ConversionExpr expr;
}
/**
* Holds if `n` should be a FlowCheckNode, which will appear in path summaries.
*/
predicate flowCheckNodeSpecific(Node n) { none() }
class DataFlowExpr = Expr;
private newtype TDataFlowType =

View File

@@ -242,6 +242,11 @@ class CastNode extends ExprNode {
CastNode() { this.getExpr() instanceof CastingExpr }
}
/**
* Holds if `n` should be a FlowCheckNode, which will appear in path summaries.
*/
predicate flowCheckNodeSpecific(Node n) { none() }
private newtype TDataFlowCallable =
TSrcCallable(Callable c) or
TSummarizedCallable(SummarizedCallable c) or

View File

@@ -497,6 +497,11 @@ class CastNode extends Node {
CastNode() { readStep(_, _, this) or storeStep(_, _, this) }
}
/**
* Holds if `n` should be a FlowCheckNode, which will appear in path summaries.
*/
predicate flowCheckNodeSpecific(Node n) { none() }
/**
* Holds if `t1` and `t2` are compatible, that is, whether data can flow from
* a node of type `t1` to a node of type `t2`.

View File

@@ -1296,6 +1296,11 @@ class CastNode extends Node {
}
}
/**
* Holds if `n` should be a FlowCheckNode, which will appear in path summaries.
*/
predicate flowCheckNodeSpecific(Node n) { none() }
class DataFlowExpr = CfgNodes::ExprCfgNode;
int accessPathLimit() { result = 5 }

View File

@@ -849,6 +849,11 @@ class CastNode extends Node {
CastNode() { none() }
}
/**
* Holds if `n` should be a FlowCheckNode, which will appear in path summaries.
*/
predicate flowCheckNodeSpecific(Node n) { none() }
class DataFlowExpr = Expr;
class DataFlowParameter = ParamDecl;