mirror of
https://github.com/github/codeql.git
synced 2025-12-24 12:46:34 +01:00
Queries such as `cs/sql-injection` cast their source to a `SourceNode`
in order to describe them. For example:
```ql
import semmle.code.csharp.security.dataflow.flowsources.FlowSources
string getSourceType(DataFlow::Node source) {
result = source.(SourceNode).getSourceType()
}
```
Models as data source models are not included in `SourceNode` by
default, they must be wrapped with a class extending `SourceNode`.
This adds such classes, which wrap the
`sourceNode(DataFlow::Node,string)` predicate and assigns a
`getSourceType`.