ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AstRestructure Class Reference

#include <AstRestructure.h>

Collaboration diagram for AstRestructure:

Public Member Functions

 AstRestructure (SgProject *project)
 
 AstRestructure (SgProject *project, std::string incheader)
 
void immediateReplace (SgStatement *astNode, std::string s)
 
void delayedReplace (SgNode *astNode, std::string s)
 
void lock (SgNode *astNode)
 
void unlock (SgNode *astNode)
 

Static Public Member Functions

static void unparserReplace (SgExpression *astNode, std::string s)
 

Private Types

typedef std::set< SgNode * > Lock
 
typedef std::map< SgNode
*, std::string > 
Schedule
 
typedef Schedule::value_type SchedulePair
 

Private Attributes

SgProjectsageProject
 
SgNodetargetNode
 
std::string sourceFragment
 
std::string includeHeaders
 
Lock lockedNodes
 
Schedule scheduledReplacements
 

Detailed Description

Definition at line 76 of file AstRestructure.h.

Member Typedef Documentation

typedef std::set<SgNode*> AstRestructure::Lock
private

Definition at line 103 of file AstRestructure.h.

typedef std::map<SgNode*,std::string> AstRestructure::Schedule
private

Definition at line 105 of file AstRestructure.h.

typedef Schedule::value_type AstRestructure::SchedulePair
private

Definition at line 106 of file AstRestructure.h.

Constructor & Destructor Documentation

AstRestructure::AstRestructure ( SgProject project)
inline

Definition at line 79 of file AstRestructure.h.

AstRestructure::AstRestructure ( SgProject project,
std::string  incheader 
)
inline

Definition at line 80 of file AstRestructure.h.

Member Function Documentation

void AstRestructure::immediateReplace ( SgStatement astNode,
std::string  s 
)
static void AstRestructure::unparserReplace ( SgExpression astNode,
std::string  s 
)
static
void AstRestructure::delayedReplace ( SgNode astNode,
std::string  s 
)
void AstRestructure::lock ( SgNode astNode)
void AstRestructure::unlock ( SgNode astNode)

Member Data Documentation

SgProject* AstRestructure::sageProject
private

Definition at line 98 of file AstRestructure.h.

SgNode* AstRestructure::targetNode
private

Definition at line 99 of file AstRestructure.h.

std::string AstRestructure::sourceFragment
private

Definition at line 100 of file AstRestructure.h.

std::string AstRestructure::includeHeaders
private

Definition at line 101 of file AstRestructure.h.

Lock AstRestructure::lockedNodes
private

Definition at line 104 of file AstRestructure.h.

Schedule AstRestructure::scheduledReplacements
private

Definition at line 107 of file AstRestructure.h.


The documentation for this class was generated from the following file: