Class StmtInfoCollect#

Nested Relationships#

Nested Types#

Inheritance Relationships#

Base Type#

Derived Types#

Class Documentation#

class StmtInfoCollect : public ProcessAstTreeBase#

Subclassed by StmtSideEffectCollect, StmtVarAliasCollect

Public Functions

void operator()(AstInterface &fa, const AstNodePtr &h)#

Protected Types

typedef std::map<AstNodePtr, ModRecord, std::less<AstNodePtr>> ModMap#

Protected Functions

virtual void AppendModLoc(AstInterface &fa, const AstNodePtr &mod, const AstNodePtr &rhs = AstNodePtr()) = 0#
virtual void AppendReadLoc(AstInterface &fa, const AstNodePtr &read) = 0#
virtual void AppendFuncCall(AstInterface &fa, const AstNodePtr &fc) = 0#
void AppendFuncCallArguments(AstInterface &fa, const AstNodePtr &fc)#
void AppendFuncCallWrite(AstInterface &fa, const AstNodePtr &fc)#
virtual bool ProcessTree(AstInterface &_fa, const AstNodePtr &s, AstInterface::TraversalVisitType t)#

Protected Attributes

std::list<ModStackEntry> modstack#
AstNodePtr curstmt#
struct ModRecord#

Public Functions

inline ModRecord()#
inline ModRecord(const AstNodePtr &_rhs, bool _readlhs)#

Public Members

AstNodePtr rhs#
bool readlhs#
struct ModStackEntry#

Public Functions

inline ModStackEntry(const AstNodePtr &r)#

Public Members

AstNodePtr root#
ModMap modmap#