CodeQL library for C#
codeql/csharp-all 4.0.1-dev (changelog, source)
Search

Module Make::Private

Provides predicates for compiling flow summaries down to atomic local steps, read steps, and store steps.

Import path

import codeql.dataflow.internal.FlowSummaryImpl

Imports

AccessPath<FlowSummaryImpl::Make::Private::summarySpec>

Companion module to the AccessPath class.

Predicates

parseArg

Holds if specification component token parses as argument pos.

parseParam

Holds if specification component token parses as parameter pos.

parseSynthGlobal

Holds if specification component token parses as synthetic global sg.

summaryAllowParameterReturnInSelf

Holds if flow is allowed to pass from the parameter at position pos of c, to a return node, and back out to the parameter.

summaryArgumentNode

Holds if summary node arg is at position pos in a call targeting receiver.

summaryCallbackRange

Holds if a call targeting receiver should be synthesized inside c.

summaryOutNode

Holds if summary node out contains output of kind rk from a call targeting receiver.

summaryParameterNode

Holds if summary node p is a parameter with position pos.

summaryPostUpdateNode

Holds if summary node post is a post-update node with pre-update node pre.

summaryReturnNode

Holds if summary node ret is a return node of kind rk.

Classes

RequiredSummaryComponentStack

A class that exists for QL technical reasons only (the IPA type used to represent component stacks needs to be bounded).

SummarizedCallableImpl

A callable with a flow summary.

SummaryComponent

A component used in a flow summary.

SummaryComponentStack

A (non-empty) stack of summary components.

SummaryNode
SyntheticGlobal

A synthetic global. This represents some form of global state, which summaries can read and write individually.

Datatypes

Modules

External

Provides a means of translating externally (e.g., MaD) defined flow summaries into a SummarizedCallables.

RenderSummarizedCallable

Provides query predicates for rendering the generated data flow graph for a summarized callable.

Steps

Provides a compilation of flow summaries to atomic data-flow steps.

SummaryComponent

Provides predicates for constructing summary components.

SummaryComponentStack

Provides predicates for constructing stacks of summary components.

TestNeutralOutput
TestSummaryOutput

Provides a query predicate for outputting a set of relevant flow summaries.

Types

Provides the predicate summaryNodeType for associating types with summary nodes.

Type signatures

RelevantSummarizedCallableSig

A summarized callable relevant for testing.

Module signatures

RelevantNeutralCallableSig

A summarized callable relevant for testing.

StepsInputSig
TypesInputSig