Program Listing for File ASTtools.hh#
↰ Return to documentation for file (src/midend/programTransformation/astOutlining/ASTtools.hh)
#if !defined(INC_ASTTOOLS_HH)
#define INC_ASTTOOLS_HH
#include <string>
#include <set>
#include <map>
namespace ASTtools
{
#if 0
const SgClassDefinition* getEnclosingClassDef (const SgNode* n);
const SgStatement* findNextStatement (const SgStatement* s);
#endif
typedef std::set<const SgVariableSymbol *> VarSymSet_t;
ROSE_DLL_API const SgScopeStatement* findFirstFuncDefScope (const SgStatement* s);
ROSE_DLL_API const SgFunctionDefinition* findFirstFuncDef (const SgStatement* s);
bool isConstMemFunc (const SgFunctionDeclaration* decl);
bool isConstMemFunc (const SgFunctionDefinition* def);
bool isConstObj (const SgType* type);
ROSE_DLL_API void collectPointerDereferencingVarSyms(const SgStatement*s, VarSymSet_t& pdSyms);
bool isSwitchCond (const SgStatement* s);
bool isIfCond (const SgStatement* s);
bool isWhileCond (const SgStatement* s);
bool isC99 (const SgNode* n);
bool isStdNamespace (const SgScopeStatement* scope);
bool isMain (const SgFunctionDeclaration* decl);
bool isTemplateInst (const SgDeclarationStatement* decl);
bool isTemplateInst (const SgScopeStatement* scope);
std::string getUnqualUntmplName (const SgDeclarationStatement* d);
bool isExternC (const SgFunctionDeclaration* func);
bool isFuncName (const SgFunctionDeclaration* func,
const std::string& target);
bool isFuncNamePrefix (const SgFunctionDeclaration* func,
const std::string& target_prefix);
size_t getNumArgs (const SgFunctionDeclaration* func);
bool isCtor (const SgFunctionDeclaration* func);
bool isDtor (const SgFunctionDeclaration* func);
bool isStaticFunc (const SgFunctionDeclaration* func);
std::string getClassName (const SgMemberFunctionDeclaration* mem_func);
std::string getMemFuncName (const SgMemberFunctionDeclaration* mem_func);
std::string toStringFileLoc (const SgLocatedNode* n);
ROSE_DLL_API Sg_File_Info* newFileInfo (void);
ROSE_DLL_API void dumpSymTab (const SgScopeStatement* s, const std::string& tag,
std::ostream& o);
ROSE_DLL_API void setSourcePositionAsTransformation(SgNode* node);
ROSE_DLL_API void setSourcePositionAtRootAndAllChildrenAsTransformation(SgNode* node);
} // namespace ASTtools
#endif // !defined(INC_ASTTOOLS_HH)
// eof