Struct DeferredTransformation#

Struct Documentation#

struct DeferredTransformation#

Public Types

enum TransformationKind#

Values:

enumerator e_error#
enumerator e_default#
enumerator e_outliner#
enumerator e_replaceStatement#
enumerator e_removeStatement#
enumerator e_replaceDefiningFunctionDeclarationWithFunctionPrototype#
enumerator e_last#
typedef std::set<SgClassDefinition*> ClassDefSet_t#
typedef std::vector<SgFunctionDeclaration*> FuncDeclList_t#
typedef std::vector<SgStatement*> IntervalType#

Public Functions

ROSE_DLL_API DeferredTransformation()#
ROSE_DLL_API DeferredTransformation(SgClassDefinition *class_definition, SgDeclarationStatement *target_class_member, SgDeclarationStatement *new_function_prototype)#
ROSE_DLL_API DeferredTransformation(const DeferredTransformation &X)#
ROSE_DLL_API ~DeferredTransformation(void)#

Copy constructor.

ROSE_DLL_API DeferredTransformation & operator= (const DeferredTransformation &X)

Shallow; does not delete fields.

ROSE_DLL_API void display (std::string label) const

Public Members

TransformationKind deferredTransformationKind#
std::string transformationLabel#
SgStatement *statementToRemove#
SgStatement *statementToAdd#
SgClassDefinition *class_definition#
SgDeclarationStatement *target_class_member#
SgDeclarationStatement *new_function_prototype#
ClassDefSet_t targetClasses#
FuncDeclList_t targetFriends#
IntervalType statementInterval#
SgStatement *locationToOverwriteWithTransformation#
SgStatement *transformationToOverwriteFirstStatementInInterval#
SgBasicBlock *blockOfStatementsToOutline#

Public Static Functions

static ROSE_DLL_API DeferredTransformation replaceDefiningFunctionDeclarationWithFunctionPrototype (SgFunctionDeclaration *functionDeclaration)

operator=()

static ROSE_DLL_API DeferredTransformation replaceStatement (SgStatement *oldStmt, SgStatement *newStmt, bool movePreprocessinInfo=false)
static ROSE_DLL_API std::string outputDeferredTransformationKind (const TransformationKind &kind)