class TypeErasedDataflowAnalysis
Declaration
class TypeErasedDataflowAnalysis : public ValueModel { /* full declaration omitted */ };
Description
Type-erased base class for dataflow analyses built on a single lattice type.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:56
Inherits from: Environment::ValueModel
Member Variables
- private clang::dataflow::DataflowAnalysisOptions Options
Method Overview
- public TypeErasedDataflowAnalysis()
- public TypeErasedDataflowAnalysis(bool ApplyBuiltinTransfer)
- public TypeErasedDataflowAnalysis(clang::dataflow::DataflowAnalysisOptions Options)
- public bool applyBuiltinTransfer() const
- public clang::dataflow::TransferOptions builtinTransferOptions() const
- public virtual clang::ASTContext & getASTContext()
- public virtual bool isEqualTypeErased(const clang::dataflow::TypeErasedLattice &, const clang::dataflow::TypeErasedLattice &)
- public virtual clang::dataflow::LatticeJoinEffect joinTypeErased(clang::dataflow::TypeErasedLattice &, const clang::dataflow::TypeErasedLattice &)
- public virtual void transferTypeErased(const clang::Stmt *, clang::dataflow::TypeErasedLattice &, clang::dataflow::Environment &)
- public virtual clang::dataflow::TypeErasedLattice typeErasedInitialElement()
- public virtual ~TypeErasedDataflowAnalysis()
Inherited from Environment::ValueModel:
Methods
¶TypeErasedDataflowAnalysis()
TypeErasedDataflowAnalysis()
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:60
¶TypeErasedDataflowAnalysis(
bool ApplyBuiltinTransfer)
TypeErasedDataflowAnalysis(
bool ApplyBuiltinTransfer)
Description
Deprecated. Use the `DataflowAnalysisOptions` constructor instead.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:63
Parameters
- bool ApplyBuiltinTransfer
¶TypeErasedDataflowAnalysis(
clang::dataflow::DataflowAnalysisOptions
Options)
TypeErasedDataflowAnalysis(
clang::dataflow::DataflowAnalysisOptions
Options)
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:66
Parameters
¶bool applyBuiltinTransfer() const
bool applyBuiltinTransfer() const
Description
Determines whether to apply the built-in transfer functions, which model the heap and stack in the `Environment`.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:96
¶clang::dataflow::TransferOptions
builtinTransferOptions() const
clang::dataflow::TransferOptions
builtinTransferOptions() const
Description
Returns the options to be passed to the built-in transfer functions.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:99
¶virtual clang::ASTContext& getASTContext()
virtual clang::ASTContext& getASTContext()
Description
Returns the `ASTContext` that is used by the analysis.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:72
¶virtual bool isEqualTypeErased(
const clang::dataflow::TypeErasedLattice&,
const clang::dataflow::TypeErasedLattice&)
virtual bool isEqualTypeErased(
const clang::dataflow::TypeErasedLattice&,
const clang::dataflow::TypeErasedLattice&)
Description
Returns true if and only if the two given type-erased lattice elements are equal.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:86
Parameters
¶virtual clang::dataflow::LatticeJoinEffect
joinTypeErased(
clang::dataflow::TypeErasedLattice&,
const clang::dataflow::TypeErasedLattice&)
virtual clang::dataflow::LatticeJoinEffect
joinTypeErased(
clang::dataflow::TypeErasedLattice&,
const clang::dataflow::TypeErasedLattice&)
Description
Joins two type-erased lattice elements by computing their least upper bound. Places the join result in the left element and returns an effect indicating whether any changes were made to it.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:81
Parameters
¶virtual void transferTypeErased(
const clang::Stmt*,
clang::dataflow::TypeErasedLattice&,
clang::dataflow::Environment&)
virtual void transferTypeErased(
const clang::Stmt*,
clang::dataflow::TypeErasedLattice&,
clang::dataflow::Environment&)
Description
Applies the analysis transfer function for a given statement and type-erased lattice element.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:91
Parameters
¶virtual clang::dataflow::TypeErasedLattice
typeErasedInitialElement()
virtual clang::dataflow::TypeErasedLattice
typeErasedInitialElement()
Description
Returns a type-erased lattice element that models the initial state of a basic block.
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:76
¶virtual ~TypeErasedDataflowAnalysis()
virtual ~TypeErasedDataflowAnalysis()
Declared at: clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h:69