Program Listing for File ASTtools.hh

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