Class AstInterfaceImpl#

Inheritance Relationships#

Base Type#

Class Documentation#

class AstInterfaceImpl : public ObserveObject<AstObserver>#

Public Types

typedef AstInterface::AstNodeList AstNodeList#
typedef AstInterface::AstTypeList AstTypeList#

Public Functions

inline AstInterfaceImpl(SgNode *_top)#
inline ~AstInterfaceImpl()#
inline SgNode *get_top() const#
void set_top(SgNode *_top)#
SgClassSymbol *LookupClass(const char *start)#
SgClassSymbol *GetClass(const std::string &name, const char **start = 0)#
SgVarRefExp *CreateFieldRef(std::string classname, std::string fieldname)#
SgMemberFunctionRefExp *CreateMethodRef(std::string classname, std::string fieldname, bool createIfNotFound)#
SgFunctionSymbol *LookupFunction(const char *start) const#
SgSymbol *CreateDeclarationStmts(const std::string &_decl)#
SgClassSymbol *NewClass(const std::string &name)#
SgClassSymbol *AddClass(SgClassDeclaration *d)#
SgFunctionSymbol *GetFunc(const std::string &name)#
SgFunctionSymbol *NewFunc(const std::string &name, SgType *rtype, const std::list<SgInitializedName*> &args)#
SgFunctionSymbol *AddFunc(SgFunctionDeclaration *d)#
SgNode *CreateFunction(std::string name, int numOfPars)#
SgNode *CreateFunctionCall(SgNode *func, AstNodeList::const_iterator, AstNodeList::const_iterator e)#
bool IsFunctionCall(SgNode *s, SgNode **func, AstNodeList *args)#
SgMemberFunctionSymbol *NewMemberFunc(SgClassSymbol *decl, const std::string &name, SgType *rtype, const std::list<SgInitializedName*> &args)#
SgMemberFunctionSymbol *AddMemberFunc(SgClassDefinition *def, SgMemberFunctionDeclaration *d)#
SgMemberFunctionSymbol *GetMemberFunc(SgClassSymbol *c, const std::string &funcname, std::vector<SgExpression*> *args = 0)#
SgVariableSymbol *NewVar(SgType *type, const std::string &_name, bool makeunique, bool delayDecl, SgExpression *initexp = 0, SgScopeStatement *loc = 0)#
void AddNewVarDecls()#
void CopyNewVarDecls(SgBasicBlock *blk, bool clearNewVars = true)#
void SaveVarDecl(SgVariableDeclaration *d, SgScopeStatement *curscope)#
SgVariableSymbol *InsertVar(SgInitializedName *d, SgScopeStatement *curscope = 0)#
SgVariableSymbol *LookupVar(const std::string &name, SgScopeStatement *loc = 0)#
SgVariableDeclaration *LookupVarDecl(const std::string &varname, SgScopeStatement *loc = 0)#
SgVarRefExp *CreateVarRef(std::string varname, SgNode *loc = 0)#
SgDotExp *CreateVarMemberRef(std::string varname, std::string field, SgNode *loc = 0)#
bool ReplaceAst(SgNode *orig, SgNode *n)#

Public Static Functions

static void GetTypeInfo(SgType *t, std::string *name = 0, std::string *stripname = 0, int *size = 0)#
static SgType *GetTypeInt()#
static bool IsFortranLoop(const SgNode *s, SgNode **ivar = 0, SgNode **lb = 0, SgNode **ub = 0, SgNode **step = 0, SgNode **body = 0)#
static bool IsAssignment(const SgNode *s, SgNode **lhs = 0, SgNode **rhs = 0, bool *readlhs = 0)#
static bool IsVarRef(SgNode *exp, SgType **vartype = 0, std::string *varname = 0, SgNode **scope = 0, bool *isglobal = 0)#