SgStatement Class Reference

#include <Cxx_Grammar.h>

Inheritance diagram for SgStatement:

Inheritance graph
[legend]
Collaboration diagram for SgStatement:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class represents the notion of a statement.

There are no uses of this IR node anywhere. All statements are derived from this SgStatement class.

For internal use only.

This is a base class for all statements.

Todo:
There are a number of statements that contain a SgBasicBlock where they should contain a SgStatement. In each case changing the data member to be a SgStatement will unfortunately change the constructor parameter list and thus the ROSE API. So these changes have to be organized a a point where it is clear we will be changing some details of the ROSE API (prior to external release). Problem IR nodes are:
Todo:
Fortran support for modifiers can be used as statement (must be added to IR): see section 5.2, 5.3 in Fortran 2003 standard. Note that type modifiers can be used as statements.
Todo:
Fortran support requires statements in section 6.3.
Todo:
Fortran support requires for "where" and "forall" statements.
Todo:
Fortran support requires for case statement ranges (gnu extension for C, but standard in Fortran).
Todo:
Fortran support requires statements in section 8.1.4, 8.1.5.
Todo:
Fortran support requires statements in section 15 (modifiers for ISO_C_BINDING).
See also:
Example of using a SgStatement object


Public Types

typedef SgLocatedNode base_node_type
 static_variant = V_SgStatement
enum  { static_variant = V_SgStatement }
 static variant value More...

Public Member Functions

virtual SgNodecopy (SgCopyHelp &help) const
virtual SgScopeStatementget_scope (void) const
 Returns scope of current statement.
virtual void setExtern () ROSE_DEPRECATED_FUNCTION
 This function sets "extern" status for the current statement.
virtual void setStatic () ROSE_DEPRECATED_FUNCTION
 This function sets "static" status for the current statement.
void insert_statement (SgStatement *target, SgStatement *newstmt, bool inFront=true)
 This function inserts a single statement at the position indicated by target.
void insert_statement (SgStatement *target, const SgStatementPtrList &newstmtList, bool inFront=true)
 This function inserts a list of statements at the position indicated by target.
void replace_statement (SgStatement *target, SgStatement *newstmt)
 This function replaces the target statement with a single statement.
void replace_statement (SgStatement *target, const SgStatementPtrList &newstmtList)
 This function replaces the target statement with a list of statements.
void remove_statement (SgStatement *)
 This function removes the target statement from the AST.
void insert_statement_from_basicBlock (SgStatement *target, SgStatement *newstmt, bool inFront=true)
 This function inserts a statement at the position indicated by target. If newstmt is a basicBlock, statements inside newstmt are extracted and then inserted.
void replace_statement_from_basicBlock (SgStatement *target, SgStatement *newstmt)
 This function replaces the target statement with a new statement. If newstmt is a basicBlock, statements inside newstmt are extracted and then inserted.
virtual int replace_expression (SgExpression *, SgExpression *)
 support general replace functions, used in statements that directly contain SgExpression IR nodes.
virtual void set_scope (SgScopeStatement *newScope)
 Support for setting scopes (only meaningful on IR statements that store the scope explicitly).
virtual bool hasExplicitScope () const
 Support for where the scope is explicitly required.
virtual SgSymbolget_symbol_from_symbol_table () const
 Get the associated symbol from the symbol table in the stored scope.
virtual unsigned int cfgIndexForEnd () const
 Determine the CFG index for the end of this construct.
virtual bool cfgIsIndexInteresting (unsigned int index) const
 Determine whether a particular CFG node index is "interesting" for this kind of node.
virtual unsigned int cfgFindChildIndex (SgNode *n)
 Find the index of n in this node's CFG children.
virtual unsigned int cfgFindNextChildIndex (SgNode *n)
 Find the index just after n in this node's CFG children.
virtual std::vector< VirtualCFG::CFGEdgecfgOutEdges (unsigned int index)
 Find the out edges of a CFG node -- internal version.
virtual std::vector< VirtualCFG::CFGEdgecfgInEdges (unsigned int index)
 Find the in edges of a CFG node -- internal version.
virtual bool isChildUsedAsLValue (const SgExpression *child) const
virtual void fixupCopy (SgNode *copy, SgCopyHelp &help) const
virtual void set_end_numeric_label (SgLabelRefExp *end_numeric_label)
virtual bool has_end_numeric_label () const
void post_construction_initialization ()
 Final initialization for constructors This function is called at the end of generated constructors to allow the specification writer to add special initialization functions or tests. Default is to do nothing. Otherwise it should be overridden in the spec file, in NewHeaderCode/NewOutlinedCode.
virtual std::string class_name () const
 Copies AST (whole subtree, depending on the SgCopyHelp class returns a string representing the class name.
virtual VariantT variantT () const
 returns new style SageIII enum values
void * operator new (size_t size)
 returns pointer to newly allocated IR node
void operator delete (void *pointer, size_t size)
 deallocated memory for IR node (returns memory to memory pool for reuse)
void operator delete (void *pointer)
virtual std::vector< SgNode * > get_traversalSuccessorContainer ()
 FOR INTERNAL USE within ROSE traverals mechanism only.
virtual std::vector< std::string > get_traversalSuccessorNamesContainer ()
 FOR INTERNAL USE within ROSE traverals mechanism only.
virtual size_t get_numberOfTraversalSuccessors ()
virtual SgNodeget_traversalSuccessorByIndex (size_t idx)
virtual size_t get_childIndex (SgNode *child)
virtual RTIReturnType roseRTI ()
 FOR INTERNAL USE Access to Runtime Type Information (RTI) for this IR nodes.
virtual const char * sage_class_name () const ROSE_DEPRECATED_FUNCTION
void executeVisitorMemberFunction (ROSE_VisitorPattern &visitor)
 FOR INTERNAL USE Support for visitor pattern.
virtual void accept (ROSE_VisitorPattern &visitor)
 DXN (08/09/2010): support for the classic visitor pattern done in GoF.
virtual bool isInMemoryPool ()
 FOR INTERNAL USE This is used in internal tests to verify that all IR nodes are allocated from the heap.
virtual void checkDataMemberPointersIfInMemoryPool ()
 FOR INTERNAL USE This is used in internal tests to verify that all IR nodes are allocated from the heap.
virtual std::vector< std::pair<
SgNode *, std::string > > 
returnDataMemberPointers () const
 FOR INTERNAL USE Returns STL vector of pairs of SgNode* and strings for use in AST tools
virtual void processDataMemberReferenceToPointers (ReferenceToPointerHandler *)
 FOR INTERNAL USE Processes pairs of references to SgNode* and strings for use in AST tools
virtual long getChildIndex (SgNode *childNode) const
 FOR INTERNAL USE Returns a unique index value for the childNode in the list of children at this IR node.
 SgStatement (const SgStatementStorageClass &source)
SgStatementaddRegExpAttribute (std::string s, AstRegExAttribute *a)
 Support for AST matching using regular expression.
SgLabelRefExpget_numeric_label () const
void set_numeric_label (SgLabelRefExp *numeric_label)
int get_source_sequence_value () const
void set_source_sequence_value (int source_sequence_value)
virtual ~SgStatement ()
 This is the destructor.
 SgStatement (Sg_File_Info *startOfConstruct)
 This is the constructor.
 SgStatement ()

Static Public Member Functions

static size_t numberOfNodes ()
 Returns the total number of IR nodes of this type.
static size_t memoryUsage ()
 Returns the size in bytes of the total memory allocated for all IR nodes of this type.
static void traverseMemoryPoolNodes (ROSE_VisitTraversal &visit)
 FOR INTERNAL USE Support for visitor pattern.
static void traverseMemoryPoolVisitorPattern (ROSE_VisitorPattern &visitor)
 FOR INTERNAL USE Support for visitor pattern.
static void visitRepresentativeNode (ROSE_VisitTraversal &visit)
 FOR INTERNAL USE Support for type-based traversal.

Protected Member Functions

Private Supporting Functions for Low-Level Rewrite Interface
Low-level Support for mutation of the AST.

This is the lowest level of support for the mutation of the AST.

For internal use only.

Need to document this section more fully.



virtual bool replace_child (SgStatement *target, SgStatement *newStmt, bool extractListFromBasicBlock=false)
 Private supporting function for low level SageIII rewrite interface.
virtual bool insert_child (SgStatement *, SgStatement *, bool inFront=true, bool extractListFromBasicBlock=false)
 Private supporting function for low level SageIII rewrite interface.

Protected Attributes

SgLabelRefExpp_numeric_label
int p_source_sequence_value

Friends

class AST_FILE_IO
class SgStatementStorageClass
class AstSpecificDataManagingClass
class AstSpecificDataManagingClassStorageClass
SgStatementisSgStatement (SgNode *s)
 Casts pointer from base class to derived class.
const SgStatementisSgStatement (const SgNode *s)
 Casts pointer from base class to derived class (for const pointers).
SgStatementSgStatement_getPointerFromGlobalIndex (unsigned long globalIndex)
 Constructor for use by AST File I/O MechanismTypedef used for low level memory access. Typedef used to hold memory addresses as values. Methods to find the pointer to a global and local index.
unsigned long SgStatement_getNumberOfValidNodesAndSetGlobalIndexInFreepointer (unsigned long)
 Get the size of the memory pool.
void SgStatement_clearMemoryPool ()
void SgStatement_extendMemoryPoolForFileIO (unsigned long)
void SgStatement_getNextValidPointer (std::pair< SgStatement *, std::vector< unsigned char * >::const_iterator > &)
void SgStatement_resetValidFreepointers ()


Member Typedef Documentation

typedef SgLocatedNode SgStatement::base_node_type

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.


Member Enumeration Documentation

anonymous enum

static variant value

Enumerator:
static_variant 


Constructor & Destructor Documentation

SgStatement::SgStatement ( const SgStatementStorageClass &  source  ) 

SgStatement::~SgStatement (  )  [virtual]

This is the destructor.

There is nothing to delete in this object.

SgStatement::SgStatement ( Sg_File_Info startOfConstruct = NULL  ) 

This is the constructor.

This constructor builds the SgStatement base class.

Parameters:
startOfConstruct represents the position in the source code
See also:
Example:create an SgStatement object

SgStatement::SgStatement (  ) 


Member Function Documentation

virtual SgNode* SgStatement::copy ( SgCopyHelp help  )  const [virtual]

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

SgStatement::get_scope ( void   )  const [virtual]

Returns scope of current statement.

This functions returns a pointer to the inner most SgScopeStatement where the current statement is located. This is a function called after the parents have been set. It is not called by the EDG/SAGE interface and is only called after the SAGE AST has been built and the parent pointers set within a separate phase. Improtant exception: The SgFunctionParameterList should have as it's scope the SgFunctionDefinition, but it is a sibling of the SgFunctionDefinition (both the SgFunctionParameterList and the SgFunctionDefinition have the SgFunctionDeclaration as a parent. Thus the scope of the SgFunctionParameterList is computed to be the SgGlobal (global scope) most often; which is an error). So we handle this case explicitly.

Returns:
Returns valid pointer to SgScopeStatement.

Reimplemented in SgEnumDeclaration, SgTemplateDeclaration, SgTypedefDeclaration, SgClassDeclaration, SgFunctionDeclaration, and SgLabelStatement.

SgStatement::setExtern (  )  [virtual]

This function sets "extern" status for the current statement.

The new modifier mechanism makes this older function interface redundent.

Deprecated:
This function should not be called anywhere the new modifier handling make is obsolete.

Reimplemented in SgVariableDeclaration.

SgStatement::setStatic (  )  [virtual]

This function sets "static" status for the current statement.

The new modifier mechanism makes this older function interface redundent.

Deprecated:
This function should not be called anywhere the new modifier handling make is obsolete.

Reimplemented in SgVariableDeclaration.

SgStatement::replace_child ( SgStatement target,
SgStatement newStmt,
bool  extractListFromBasicBlock = false 
) [protected, virtual]

Private supporting function for low level SageIII rewrite interface.

This function implements special semantics for the insertion of a collection of statements in a block. If extractListFromBasicBlock is true then the statements in the block are extracts and placed into the same scope as the target position.

Returns:
Returns bool.

Reimplemented in SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgUpcForAllStatement, SgTypedefDeclaration, SgClassDeclaration, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgProgramHeaderStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgGotoStatement, SgForInitStatement, and SgOmpBodyStatement.

SgStatement::insert_child ( SgStatement ,
SgStatement ,
bool  inFront = true,
bool  extractListFromBasicBlock = false 
) [protected, virtual]

Private supporting function for low level SageIII rewrite interface.

This function implements special semantics for the insertion of a collection of statements in a block. If extractListFromBasicBlock is true then the statements in the block are extracts and placed into the same scope as the target position.

Returns:
Returns bool.

Reimplemented in SgGlobal, SgBasicBlock, SgClassDefinition, SgNamespaceDefinitionStatement, and SgForInitStatement.

void SgStatement::insert_statement ( SgStatement target,
SgStatement newstmt,
bool  inFront = true 
)

This function inserts a single statement at the position indicated by target.

This function handles the insertion of the specified statement at the target location. The boolean variable specifies if the new statement is inserted before or after the target statement.

Parameters:
target - location in the AST where new statement is to be inserted.
newstmt - New statement to be placed into the AST.
inFront - if true the new statement is inserted before the target statement, else the new statement is inserted after the target statement (default = true).
Returns:
Function returns void.

void SgStatement::insert_statement ( SgStatement target,
const SgStatementPtrList newstmtList,
bool  inFront = true 
)

This function inserts a list of statements at the position indicated by target.

This function handles the insertion of a list of statements at the target location. The boolean variable specifies if the new statements are inserted before or after the target statement.

Parameters:
target - location in the AST where new statements are to be inserted.
newstmt - List of new statements to be placed into the AST.
inFront - if true the new statements are inserted before the target statement, else the new statements are inserted after the target statement (default = true).
Returns:
Function returns void.

void SgStatement::replace_statement ( SgStatement target,
SgStatement newstmt 
)

This function replaces the target statement with a single statement.

This function handles the replacement of the specified target statement with a new statement.

Parameters:
target - location of the statement to be replaced.
newstmt - New statement to replace target statement in the AST.
Returns:
Function returns void.

void SgStatement::replace_statement ( SgStatement target,
const SgStatementPtrList newstmtList 
)

This function replaces the target statement with a list of statements.

This function handles the replacement of the specified target statement with a list of statements at the target location.

Parameters:
target - location of the statement to be replaced.
newstmt - List of new statements to replace the target statement in the AST.
Returns:
Function returns void.

void SgStatement::remove_statement ( SgStatement  ) 

This function removes the target statement from the AST.

This function handles the removal of the target statement from the AST. Any comments or C preprocessor directives associated with the statement are also removed. This is a low level primitive for higher level functions (in the higher level interfaces) which take care to preserve such attributes.

Parameters:
target - location of the statement to be removed.
Returns:
Function returns void.

void SgStatement::insert_statement_from_basicBlock ( SgStatement target,
SgStatement newstmt,
bool  inFront = true 
)

This function inserts a statement at the position indicated by target. If newstmt is a basicBlock, statements inside newstmt are extracted and then inserted.

This function handles the insertion of the specified statement at the target location. The boolean variable specifies if the new statement is inserted before or after the target statement. This function has somewhat unusual semantics.

For internal use only.

This function is low level support (only used by Qing)

Parameters:
target - location in the AST where new statement is to be inserted.
newstmt - New statement to be placed into the AST.
inFront - if true the new statement is inserted before the target statement, else the new statement is inserted after the target statement (default = true).
Returns:
Function returns void.
Deprecated:
This function is used only in Qing's code and not clearly a part of the preferred interface.

void SgStatement::replace_statement_from_basicBlock ( SgStatement target,
SgStatement newstmt 
)

This function replaces the target statement with a new statement. If newstmt is a basicBlock, statements inside newstmt are extracted and then inserted.

This function handles the replacement of the target statement with the new statement. This function has somewhat unusual semantics.

For internal use only.

This function is low level support (only used by Qing)

Parameters:
target - statement in AST to be replaced..
newstmt - New statement to be placed into the AST.
Returns:
Function returns void.
Deprecated:
This function is used only in Qing's code and not clearly a part of the preferred interface.

virtual int SgStatement::replace_expression ( SgExpression ,
SgExpression  
) [virtual]

support general replace functions, used in statements that directly contain SgExpression IR nodes.

Reimplemented in SgForStatement, SgUpcForAllStatement, SgExprStatement, and SgReturnStmt.

virtual void SgStatement::set_scope ( SgScopeStatement newScope  )  [virtual]

Support for setting scopes (only meaningful on IR statements that store the scope explicitly).

Reimplemented in SgEnumDeclaration, SgTemplateDeclaration, SgTypedefDeclaration, SgClassDeclaration, SgFunctionDeclaration, and SgLabelStatement.

virtual bool SgStatement::hasExplicitScope (  )  const [virtual]

Support for where the scope is explicitly required.

Reimplemented in SgEnumDeclaration, SgTemplateDeclaration, SgTypedefDeclaration, SgClassDeclaration, SgFunctionDeclaration, and SgLabelStatement.

virtual SgSymbol* SgStatement::get_symbol_from_symbol_table (  )  const [virtual]

Get the associated symbol from the symbol table in the stored scope.

Reimplemented in SgJavaLabelStatement, SgDeclarationStatement, SgEnumDeclaration, SgTemplateDeclaration, SgNamespaceDeclarationStatement, SgNamespaceAliasDeclarationStatement, SgTypedefDeclaration, SgClassDeclaration, SgTemplateInstantiationDecl, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, and SgLabelStatement.

virtual unsigned int SgStatement::cfgIndexForEnd (  )  const [virtual]

Determine the CFG index for the end of this construct.

Reimplemented from SgNode.

Reimplemented in SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgAssociateStatement, SgFortranDo, SgForAllStatement, SgUpcForAllStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionParameterList, SgVariableDeclaration, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgUseStatement, SgEquivalenceStatement, SgInterfaceStatement, SgCommonBlock, SgTypedefDeclaration, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgContainsStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgNullStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgArithmeticIfStatement, SgComputedGotoStatement, SgOmpBodyStatement, SgOmpClauseBodyStatement, SgAssertStmt, and SgJavaSynchronizedStatement.

virtual bool SgStatement::cfgIsIndexInteresting ( unsigned int  index  )  const [virtual]

Determine whether a particular CFG node index is "interesting" for this kind of node.

Reimplemented from SgNode.

Reimplemented in SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgFortranDo, SgForAllStatement, SgUpcForAllStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgGotoStatement, SgCatchStatementSeq, SgComputedGotoStatement, and SgJavaSynchronizedStatement.

virtual unsigned int SgStatement::cfgFindChildIndex ( SgNode n  )  [virtual]

Find the index of n in this node's CFG children.

Reimplemented from SgNode.

Reimplemented in SgIfStmt, SgForStatement, SgFunctionDefinition, SgFortranDo, SgForAllStatement, SgUpcForAllStatement, SgVariableDeclaration, SgCaseOptionStmt, SgComputedGotoStatement, and SgJavaSynchronizedStatement.

virtual unsigned int SgStatement::cfgFindNextChildIndex ( SgNode n  )  [virtual]

Find the index just after n in this node's CFG children.

Reimplemented from SgNode.

Reimplemented in SgForStatement, SgWhileStmt, SgFortranDo, SgForAllStatement, SgUpcForAllStatement, and SgJavaForEachStatement.

virtual std::vector<VirtualCFG::CFGEdge> SgStatement::cfgOutEdges ( unsigned int  index  )  [virtual]

Find the out edges of a CFG node -- internal version.

Reimplemented from SgNode.

Reimplemented in SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgAssociateStatement, SgFortranDo, SgForAllStatement, SgUpcForAllStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionParameterList, SgVariableDeclaration, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgUseStatement, SgEquivalenceStatement, SgInterfaceStatement, SgCommonBlock, SgTypedefDeclaration, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgContainsStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgNullStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgArithmeticIfStatement, SgComputedGotoStatement, SgOmpBodyStatement, SgOmpClauseBodyStatement, SgAssertStmt, and SgJavaSynchronizedStatement.

virtual std::vector<VirtualCFG::CFGEdge> SgStatement::cfgInEdges ( unsigned int  index  )  [virtual]

Find the in edges of a CFG node -- internal version.

Reimplemented from SgNode.

Reimplemented in SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgAssociateStatement, SgFortranDo, SgForAllStatement, SgUpcForAllStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionParameterList, SgVariableDeclaration, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgUseStatement, SgEquivalenceStatement, SgInterfaceStatement, SgCommonBlock, SgTypedefDeclaration, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgContainsStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgNullStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgArithmeticIfStatement, SgComputedGotoStatement, SgOmpBodyStatement, SgOmpClauseBodyStatement, SgAssertStmt, and SgJavaSynchronizedStatement.

virtual bool SgStatement::isChildUsedAsLValue ( const SgExpression child  )  const [virtual]

Reimplemented in SgReturnStmt.

virtual void SgStatement::fixupCopy ( SgNode copy,
SgCopyHelp help 
) const [virtual]

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgEnumDeclaration, SgTemplateDeclaration, SgTemplateInstantiationDirectiveStatement, SgNamespaceDeclarationStatement, SgTypedefDeclaration, SgClassDeclaration, SgTemplateInstantiationDecl, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgGotoStatement, SgForInitStatement, and SgCatchStatementSeq.

virtual void SgStatement::set_end_numeric_label ( SgLabelRefExp end_numeric_label  )  [virtual]

Reimplemented in SgIfStmt, SgWhileStmt, SgSwitchStatement, SgFortranDo, SgForAllStatement, SgInterfaceStatement, SgDerivedTypeStatement, SgModuleStatement, SgProgramHeaderStatement, SgProcedureHeaderStatement, and SgWhereStatement.

virtual bool SgStatement::has_end_numeric_label (  )  const [virtual]

void SgStatement::post_construction_initialization (  )  [virtual]

Final initialization for constructors This function is called at the end of generated constructors to allow the specification writer to add special initialization functions or tests. Default is to do nothing. Otherwise it should be overridden in the spec file, in NewHeaderCode/NewOutlinedCode.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual std::string SgStatement::class_name (  )  const [virtual]

Copies AST (whole subtree, depending on the SgCopyHelp class returns a string representing the class name.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual VariantT SgStatement::variantT (  )  const [virtual]

returns new style SageIII enum values

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

void* SgStatement::operator new ( size_t  size  ) 

returns pointer to newly allocated IR node

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

void SgStatement::operator delete ( void *  pointer,
size_t  size 
)

deallocated memory for IR node (returns memory to memory pool for reuse)

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

void SgStatement::operator delete ( void *  pointer  ) 

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

static size_t SgStatement::numberOfNodes (  )  [static]

Returns the total number of IR nodes of this type.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

static size_t SgStatement::memoryUsage (  )  [static]

Returns the size in bytes of the total memory allocated for all IR nodes of this type.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual std::vector<SgNode*> SgStatement::get_traversalSuccessorContainer (  )  [virtual]

FOR INTERNAL USE within ROSE traverals mechanism only.

This function builds and returns a copy of ordered container holding pointers to children of this node in a traversal. It is associated with the definition of a tree that is travered by the AST traversal mechanism; a tree that is embeded in the AST (which is a more general graph). This function is used within the implementation of the AST traversal and has a semantics may change in subtle ways that makes it difficult to use in user code. It can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.

Warning:
This function can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.
Returns:
Returns ordered STL Container of pointers to children nodes in AST.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual std::vector<std::string> SgStatement::get_traversalSuccessorNamesContainer (  )  [virtual]

FOR INTERNAL USE within ROSE traverals mechanism only.

This function builds and returns a copy of ordered container holding strings used to name data members that are traversed in the IR node. It is associated with the definition of a tree that is travered by the AST traversal mechanism; a tree that is embeded in the AST (which is a more general graph). This function is used within the implementation of the AST traversal and has a semantics may change in subtle ways that makes it difficult to use in user code. It can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.

Warning:
This function can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.
Each string is a name of a member variable holding a pointer to a child in the AST. The names are the same as used in the generated enums for accessing attributes in a traversal. The order is the same in which they are traversed and the same in which the access enums are defined. Therefore this method can be used to get the corresponding name (string) of an access enum which allows to produce more meaningful messages for attribute computations.

Returns:
Returns ordered STL container of names (strings) of access names to children nodes in AST.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual size_t SgStatement::get_numberOfTraversalSuccessors (  )  [virtual]

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual SgNode* SgStatement::get_traversalSuccessorByIndex ( size_t  idx  )  [virtual]

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual size_t SgStatement::get_childIndex ( SgNode child  )  [virtual]

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual RTIReturnType SgStatement::roseRTI (  )  [virtual]

FOR INTERNAL USE Access to Runtime Type Information (RTI) for this IR nodes.

This function provides runtime type information for accessing the structure of the current node. It is useful for generating code which would dump out or rebuild IR nodes.

Returns:
Returns a RTIReturnType object (runtime type information).

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual const char* SgStatement::sage_class_name (  )  const [virtual]

returns a C style string (char*) representing the class name

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

void SgStatement::executeVisitorMemberFunction ( ROSE_VisitorPattern visitor  ) 

FOR INTERNAL USE Support for visitor pattern.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

virtual void SgStatement::accept ( ROSE_VisitorPattern visitor  )  [virtual]

DXN (08/09/2010): support for the classic visitor pattern done in GoF.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

static void SgStatement::traverseMemoryPoolNodes ( ROSE_VisitTraversal visit  )  [static]

FOR INTERNAL USE Support for visitor pattern.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

static void SgStatement::traverseMemoryPoolVisitorPattern ( ROSE_VisitorPattern visitor  )  [static]

FOR INTERNAL USE Support for visitor pattern.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement, SgExprStatement, SgLabelStatement, SgCaseOptionStmt, SgTryStmt, SgDefaultOptionStmt, SgBreakStmt, SgContinueStmt, SgReturnStmt, SgGotoStatement, SgSpawnStmt, SgNullStatement, SgVariantStatement, SgForInitStatement, SgCatchStatementSeq, SgStopOrPauseStatement, SgIOStatement, SgPrintStatement, SgReadStatement, SgWriteStatement, SgOpenStatement, SgCloseStatement, SgInquireStatement, SgFlushStatement, SgBackspaceStatement, SgRewindStatement, SgEndfileStatement, SgWaitStatement, SgWhereStatement, SgElseWhereStatement, SgNullifyStatement, SgArithmeticIfStatement, SgAssignStatement, SgComputedGotoStatement, SgAssignedGotoStatement, SgAllocateStatement, SgDeallocateStatement, SgUpcNotifyStatement, SgUpcWaitStatement, SgUpcBarrierStatement, SgUpcFenceStatement, SgOmpBarrierStatement, SgOmpTaskwaitStatement, SgOmpFlushStatement, SgOmpBodyStatement, SgOmpAtomicStatement, SgOmpMasterStatement, SgOmpOrderedStatement, SgOmpCriticalStatement, SgOmpSectionStatement, SgOmpWorkshareStatement, SgOmpClauseBodyStatement, SgOmpParallelStatement, SgOmpSingleStatement, SgOmpTaskStatement, SgOmpForStatement, SgOmpDoStatement, SgOmpSectionsStatement, SgSequenceStatement, SgWithStatement, SgPythonPrintStmt, SgPassStatement, SgAssertStmt, SgExecStatement, SgPythonGlobalStmt, SgJavaThrowStatement, and SgJavaSynchronizedStatement.

static void SgStatement::visitRepresentativeNode ( ROSE_VisitTraversal visit  )  [static]

FOR INTERNAL USE Support for type-based traversal.

Reimplemented from SgLocatedNode.

Reimplemented in SgScopeStatement, SgGlobal, SgBasicBlock, SgIfStmt, SgForStatement, SgFunctionDefinition, SgTemplateFunctionDefinition, SgClassDefinition, SgTemplateInstantiationDefn, SgTemplateClassDefinition, SgWhileStmt, SgDoWhileStmt, SgSwitchStatement, SgCatchOptionStmt, SgNamespaceDefinitionStatement, SgBlockDataStatement, SgAssociateStatement, SgFortranDo, SgFortranNonblockedDo, SgForAllStatement, SgUpcForAllStatement, SgCAFWithTeamStatement, SgJavaForEachStatement, SgJavaLabelStatement, SgFunctionTypeTable, SgDeclarationStatement, SgFunctionParameterList, SgVariableDeclaration, SgVariableDefinition, SgClinkageDeclarationStatement, SgClinkageStartStatement, SgClinkageEndStatement, SgEnumDeclaration, SgAsmStmt, SgAttributeSpecificationStatement, SgFormatStatement, SgTemplateDeclaration, SgTemplateClassDeclaration, SgTemplateFunctionDeclaration, SgTemplateMemberFunctionDeclaration, SgTemplateInstantiationDirectiveStatement, SgUseStatement, SgParameterStatement, SgNamespaceDeclarationStatement, SgEquivalenceStatement, SgInterfaceStatement, SgNamespaceAliasDeclarationStatement, SgCommonBlock, SgTypedefDeclaration, SgStatementFunctionStatement, SgCtorInitializerList, SgPragmaDeclaration, SgUsingDirectiveStatement, SgClassDeclaration, SgTemplateInstantiationDecl, SgDerivedTypeStatement, SgModuleStatement, SgImplicitStatement, SgUsingDeclarationStatement, SgNamelistStatement, SgImportStatement, SgFunctionDeclaration, SgMemberFunctionDeclaration, SgTemplateInstantiationMemberFunctionDecl, SgTemplateInstantiationFunctionDecl, SgProgramHeaderStatement, SgProcedureHeaderStatement, SgEntryStatement, SgContainsStatement, SgC_PreprocessorDirectiveStatement, SgIncludeDirectiveStatement, SgDefineDirectiveStatement, SgUndefDirectiveStatement, SgIfdefDirectiveStatement, SgIfndefDirectiveStatement, SgIfDirectiveStatement, SgDeadIfDirectiveStatement, SgElseDirectiveStatement, SgElseifDirectiveStatement, SgEndifDirectiveStatement, SgLineDirectiveStatement, SgWarningDirectiveStatement, SgErrorDirectiveStatement, SgEmptyDirectiveStatement, SgIncludeNextDirectiveStatement, SgIdentDirectiveStatement, SgLinemarkerDirectiveStatement, SgOmpThreadprivateStatement, SgFortranIncludeLine, SgJavaImportStatement, SgStmtDeclarationStatement,