class ConsumedStateMap
Declaration
class ConsumedStateMap { /* full declaration omitted */ };
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:142
Member Variables
- protected bool Reachable = true
- protected const clang::Stmt* From = nullptr
- protected clang::consumed::ConsumedStateMap::VarMapType VarMap
- protected clang::consumed::ConsumedStateMap::TmpMapType TmpMap
Method Overview
- public ConsumedStateMap()
- public ConsumedStateMap(const clang::consumed::ConsumedStateMap & Other)
- public void checkParamsForReturnTypestate(clang::SourceLocation BlameLoc, clang::consumed::ConsumedWarningsHandlerBase & WarningsHandler) const
- public void clearTemporaries()
- public clang::consumed::ConsumedState getState(const clang::VarDecl * Var) const
- public clang::consumed::ConsumedState getState(const clang::CXXBindTemporaryExpr * Tmp) const
- public void intersect(const clang::consumed::ConsumedStateMap & Other)
- public void intersectAtLoopHead(const clang::CFGBlock * LoopHead, const clang::CFGBlock * LoopBack, const clang::consumed::ConsumedStateMap * LoopBackStates, clang::consumed::ConsumedWarningsHandlerBase & WarningsHandler)
- public bool isReachable() const
- public void markUnreachable()
- public void remove(const clang::CXXBindTemporaryExpr * Tmp)
- public void setSource(const clang::Stmt * Source)
- public void setState(const clang::VarDecl * Var, clang::consumed::ConsumedState State)
- public void setState(const clang::CXXBindTemporaryExpr * Tmp, clang::consumed::ConsumedState State)
Methods
¶ConsumedStateMap()
ConsumedStateMap()
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:154
¶ConsumedStateMap(
const clang::consumed::ConsumedStateMap&
Other)
ConsumedStateMap(
const clang::consumed::ConsumedStateMap&
Other)
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:155
Parameters
- const clang::consumed::ConsumedStateMap& Other
¶void checkParamsForReturnTypestate(
clang::SourceLocation BlameLoc,
clang::consumed::ConsumedWarningsHandlerBase&
WarningsHandler) const
void checkParamsForReturnTypestate(
clang::SourceLocation BlameLoc,
clang::consumed::ConsumedWarningsHandlerBase&
WarningsHandler) const
Description
Warn if any of the parameters being tracked are not in the state they were declared to be in upon return from a function.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:160
Parameters
- clang::SourceLocation BlameLoc
- clang::consumed::ConsumedWarningsHandlerBase& WarningsHandler
¶void clearTemporaries()
void clearTemporaries()
Description
Clear the TmpMap.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:164
¶clang::consumed::ConsumedState getState(
const clang::VarDecl* Var) const
clang::consumed::ConsumedState getState(
const clang::VarDecl* Var) const
Description
Get the consumed state of a given variable.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:167
Parameters
- const clang::VarDecl* Var
¶clang::consumed::ConsumedState getState(
const clang::CXXBindTemporaryExpr* Tmp) const
clang::consumed::ConsumedState getState(
const clang::CXXBindTemporaryExpr* Tmp) const
Description
Get the consumed state of a given temporary value.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:170
Parameters
- const clang::CXXBindTemporaryExpr* Tmp
¶void intersect(
const clang::consumed::ConsumedStateMap&
Other)
void intersect(
const clang::consumed::ConsumedStateMap&
Other)
Description
Merge this state map with another map.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:173
Parameters
- const clang::consumed::ConsumedStateMap& Other
¶void intersectAtLoopHead(
const clang::CFGBlock* LoopHead,
const clang::CFGBlock* LoopBack,
const clang::consumed::ConsumedStateMap*
LoopBackStates,
clang::consumed::ConsumedWarningsHandlerBase&
WarningsHandler)
void intersectAtLoopHead(
const clang::CFGBlock* LoopHead,
const clang::CFGBlock* LoopBack,
const clang::consumed::ConsumedStateMap*
LoopBackStates,
clang::consumed::ConsumedWarningsHandlerBase&
WarningsHandler)
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:175
Parameters
- const clang::CFGBlock* LoopHead
- const clang::CFGBlock* LoopBack
- const clang::consumed::ConsumedStateMap* LoopBackStates
- clang::consumed::ConsumedWarningsHandlerBase& WarningsHandler
¶bool isReachable() const
bool isReachable() const
Description
Return true if this block is reachable.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:180
¶void markUnreachable()
void markUnreachable()
Description
Mark the block as unreachable.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:183
¶void remove(
const clang::CXXBindTemporaryExpr* Tmp)
void remove(
const clang::CXXBindTemporaryExpr* Tmp)
Description
Remove the temporary value from our state map.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:197
Parameters
- const clang::CXXBindTemporaryExpr* Tmp
¶void setSource(const clang::Stmt* Source)
void setSource(const clang::Stmt* Source)
Description
Set the source for a decision about the branching of states.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:188
Parameters
- const clang::Stmt* Source
- -- The statement that was the origin of a branching decision.
¶void setState(
const clang::VarDecl* Var,
clang::consumed::ConsumedState State)
void setState(
const clang::VarDecl* Var,
clang::consumed::ConsumedState State)
Description
Set the consumed state of a given variable.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:191
Parameters
- const clang::VarDecl* Var
- clang::consumed::ConsumedState State
¶void setState(
const clang::CXXBindTemporaryExpr* Tmp,
clang::consumed::ConsumedState State)
void setState(
const clang::CXXBindTemporaryExpr* Tmp,
clang::consumed::ConsumedState State)
Description
Set the consumed state of a given temporary value.
Declared at: clang/include/clang/Analysis/Analyses/Consumed.h:194
Parameters
- const clang::CXXBindTemporaryExpr* Tmp
- clang::consumed::ConsumedState State