Module DataFlowPrivate
Import path
import semmle.code.csharp.dataflow.internal.DataFlowPrivateImports
| ArgumentNodes | |
| Cached | A collection of cached types and predicates to be evaluated in the same stage. |
| OutNodes | |
| ParameterNodes | |
| ReturnNodes |
Predicates
| accessPathLimit | |
| additionalLambdaFlowStep | Extra data-flow steps needed for lambda flow analysis. |
| allowParameterReturnInSelf | Holds if flow is allowed to pass from parameter |
| clearsContent | Holds if values stored inside content |
| compatibleTypes | Holds if |
| expectsContent | Holds if the value that is being tracked is expected to be stored inside content |
| exprMayHavePostUpdateNode | Hold if |
| forceHighPrecision | Holds if access paths with |
| getContentApprox | Gets an approximated value for content |
| getNodeType | Gets the type of |
| hasNodePath | Holds if there is a control-flow path from |
| isArgumentNode | Holds if |
| isParameterNode | Holds if |
| isUnreachableInCall | Holds if the nodes in |
| jumpStep | Holds if |
| knownSinkModel | |
| knownSourceModel | |
| lambdaCall | Holds if |
| lambdaCreation | Holds if |
| nodeGetEnclosingCallable | Gets the callable in which this node occurs. |
| nodeIsHidden | Holds if |
| readStep | Holds if data can flow from |
| simpleLocalFlowStep | This is the local flow predicate that is used as a building block in global data flow. It excludes SSA flow through instance fields, as flow through fields is handled by the global data-flow library, but includes various other steps that are only relevant for global flow. |
| storeStep | Holds if data can flow from |
| typeStrongerThan |
Classes
| ArgumentNode | A data-flow node that represents a call argument. |
| AssignableDefinitionNodeImpl | A definition, viewed as a node in a data flow graph. |
| CaptureNode | A synthesized data flow node representing a closure object that tracks captured variables. |
| CastNode | A node that performs a type cast. |
| ContentApprox | An approximated |
| DataFlowType | An entity used to represent the type of data-flow node. Two nodes will have the same |
| DynamicProperty | A string that is a reference to a late-bound target of a dynamic member access. |
| FieldOrProperty | A field or a property. |
| FieldOrPropertyAccess | An access to a field or a property. |
| FlowInsensitiveCapturedVariableNode | A data flow node used for control-flow insensitive flow through captured variables. |
| FlowInsensitiveFieldNode | A data flow node used for control-flow insensitive flow through fields and properties. |
| FlowSummaryNode | A data-flow node used to model flow summaries. |
| NodeImpl | |
| NodeRegion | |
| OutNode | A data-flow node that represents the output of a call. |
| ParameterNodeImpl | |
| PostUpdateNode | A node associated with an object after an operation that might have changed its state. |
| ReturnNode | A data-flow node that represents a value returned by a callable. |
| SsaDefinitionNode | An SSA definition, viewed as a node in a data flow graph. |
| SsaNode | An SSA node. |
| SyntheticField | A synthetic field. |
Modules
| LocalFlow | Provides predicates related to local data flow. |
| PostUpdateNodes | |
| SsaFlow | Provides logic related to SSA. |
| VariableCapture | Provides logic related to captured variables. |
Aliases
| DataFlowExpr | An expression. Either an access ( |
| DataFlowSecondLevelScope | The trivial type with a single element. |
| LambdaCallKind | The trivial type with a single element. |
| localMustFlowStep | Holds if the value of |