#include <Cxx_Grammar.h>
Inheritance diagram for SgExpression:


There are no direct uses of this IR node anywhere. All expressions are derived from this IR node to build derived classes such as unary and binary operators, conditional expressions, delete expression, variable reference expressions, etc.
get_type() vs. get_expression_type(). Note that there is of some IR nodes a get_expression_type() which is always a data access function to a stored type. The get_expression_type() function is for internal use only. Where used, this function can return NULL if the explicitly stored p_expression_type variable is not needed (this is to support it later being removed). Although the type should be computed most of the time, there are some IR nodes where it must be stored explicitly (detailed above; for example where the SgTypeDefault is used and for SgCastExp, etc.). The function get_expression_type() is not a part of the user interface and users should call get_type() instead.
For internal use only.
This is a base class for all expressions. As a design point IPR has an empty expression, not an empty statement. And empty statement can be built as an expression statement with an empty expression (which IPR does have). We should consider having such an empty expression. Currently we have and expression statement with a null pointer (none too elegant). Sage III now has both a SgNullStatement and a SgNullExpression.
Public Types | |
| typedef SgLocatedNode | base_node_type |
| static_variant = V_SgExpression | |
| enum | { static_variant = V_SgExpression } |
| static variant value More... | |
Public Member Functions | |
| virtual SgNode * | copy (SgCopyHelp &help) const |
| virtual int | replace_expression (SgExpression *oldChild, SgExpression *newChild) |
| Replace an expression child of this node with another one. | |
| virtual SgType * | get_type () const |
| get the type associated with this expression | |
| virtual int | precedence () const |
| return precedence (scale of 0-10, as I recall) | |
| 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::CFGEdge > | cfgOutEdges (unsigned int index) |
| Find the out edges of a CFG node -- internal version. | |
| virtual std::vector< VirtualCFG::CFGEdge > | cfgInEdges (unsigned int index) |
| Find the in edges of a CFG node -- internal version. | |
| virtual bool | isDefinable () const |
| For Fortran. When called from a node of any other language, behavior is undefined (see SageInterface::is_Fortran_language). Returns a bool value which is true if the current expression is "almost definable". "Almost definable" here means as defined by the Fortran standard (2.5.5), with the caveat that allocatable variables are always called an lvalue. The Fortran standard dictates that an allocatable variable which has not been allocated is not definable. In the general case, it cannot be statically determined whether an allocatable variable has been allocated or not. Note: constants in Fortran are not lvalues, while in C and C++ lvalues may be const. | |
| virtual bool | isUsedAsDefinable () const |
| For Fortran. When called from a node of any other language, behavior is undefined (see SageInterface::is_Fortran_language). Returns a bool value which is true if the current expression is used as a definable value. That is, it is definable (assigned to). | |
| virtual bool | isLValue () const |
| For C and C++. When called from a node of any other language, behavior is undefined (see SageInterface::is_C*_language). Returns a bool value which is true if the current expression is an lvalue, as defined by the C++ standard. | |
| virtual bool | isUsedAsLValue () const |
| For C and C++. When called from a node of any other language, behavior is undefined (see SageInterface::is_C*_language). Returns a bool value which is true if the current expression is used as an lvalue. That is, it is an lvalue and does not get converted to an rvalue by its parent expression. | |
| virtual bool | isChildUsedAsLValue (const SgExpression *child) const |
| virtual Sg_File_Info * | get_file_info (void) const |
| Interface function to implement original SAGE interface to SgFile_Info objects. | |
| virtual void | set_file_info (Sg_File_Info *X) |
| Access function calls set_startingConstruct(Sg_File_Info*) member function. | |
| virtual void | fixupCopy (SgNode *copy, SgCopyHelp &help) const |
| SgName | get_qualified_name_prefix () const |
| This function generates the qualified name prefix to be used with the type referenced by this expression. | |
| SgName | get_qualified_name_prefix_for_referenced_type () const |
| This function generates the qualified name prefix to be used with the type referenced by this expression. | |
| virtual int | get_name_qualification_length () const |
| virtual void | set_name_qualification_length (int name_qualification_length) |
| virtual bool | get_type_elaboration_required () const |
| virtual void | set_type_elaboration_required (bool type_elaboration_required) |
| virtual bool | get_global_qualification_required () const |
| virtual void | set_global_qualification_required (bool global_qualification_required) |
| virtual SgExpression * | get_originalExpressionTree () const |
| virtual void | set_originalExpressionTree (SgExpression *X) |
| 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 SgNode * | get_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. | |
| SgExpression (const SgExpressionStorageClass &source) | |
| SgExpression * | addRegExpAttribute (std::string s, AstRegExAttribute *a) |
| Support for AST matching using regular expression. | |
| bool | get_need_paren () const |
| returns bool value if front-end considers parenthesis to be required. | |
| void | set_need_paren (bool need_paren) |
| This function allows the p_need_paren flag to be set (used internally). | |
| bool | get_lvalue () const |
| Returns a bool value if the current expression is assigned to. | |
| void | set_lvalue (bool lvalue) |
| This function allows the p_lvalue flag to be set (used internally). | |
| bool | get_global_qualified_name () const |
| void | set_global_qualified_name (bool global_qualified_name) |
| Sg_File_Info * | get_operatorPosition () const |
| void | set_operatorPosition (Sg_File_Info *operatorPosition) |
| virtual | ~SgExpression () |
| This is the destructor. | |
| SgExpression (Sg_File_Info *startOfConstruct) | |
| This is the constructor. | |
| SgExpression () | |
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 Attributes | |
| bool | p_need_paren |
| This boolean value marks the current expression as requiring parenthises. | |
| bool | p_lvalue |
| This boolean variable marks the current expression as a left hand side value (lvalue). | |
| bool | p_global_qualified_name |
| Sg_File_Info * | p_operatorPosition |
Friends | |
| class | AST_FILE_IO |
| class | SgExpressionStorageClass |
| class | AstSpecificDataManagingClass |
| class | AstSpecificDataManagingClassStorageClass |
| SgExpression * | isSgExpression (SgNode *s) |
| Casts pointer from base class to derived class. | |
| const SgExpression * | isSgExpression (const SgNode *s) |
| Casts pointer from base class to derived class (for const pointers). | |
| SgExpression * | SgExpression_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 | SgExpression_getNumberOfValidNodesAndSetGlobalIndexInFreepointer (unsigned long) |
| Get the size of the memory pool. | |
| void | SgExpression_clearMemoryPool () |
| void | SgExpression_extendMemoryPoolForFileIO (unsigned long) |
| void | SgExpression_getNextValidPointer (std::pair< SgExpression *, std::vector< unsigned char * >::const_iterator > &) |
| void | SgExpression_resetValidFreepointers () |
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| SgExpression::SgExpression | ( | const SgExpressionStorageClass & | source | ) |
| SgExpression::~SgExpression | ( | ) | [virtual] |
This is the destructor.
Only the Sg_File_Info object can be deleted in this object.
| SgExpression::SgExpression | ( | Sg_File_Info * | startOfConstruct = NULL |
) |
This is the constructor.
This constructor builds the SgExpression base class.
| startOfConstruct | represents the position in the source code |
| SgExpression::SgExpression | ( | ) |
| virtual SgNode* SgExpression::copy | ( | SgCopyHelp & | help | ) | const [virtual] |
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual int SgExpression::replace_expression | ( | SgExpression * | oldChild, | |
| SgExpression * | newChild | |||
| ) | [virtual] |
Replace an expression child of this node with another one.
It contains all the base functionality for the construction, manipulation, and unparsing support.
Reimplemented in SgUnaryOp, SgBinaryOp, SgExprListExp, SgCallExpression, SgSizeOfOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgOp, SgVarArgEndOp, and SgNaryOp.
| SgExpression::get_type | ( | ) | const [virtual] |
get the type associated with this expression
This function is the correct user function to call to get the type (note that get_expression_type() is for internal use only).
Reimplemented in SgUnaryOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgCastExp, SgThrowOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAndOp, SgOrOp, SgCommaOpExp, SgPntrArrRefExp, SgUserDefinedBinaryOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual int SgExpression::precedence | ( | ) | const [virtual] |
return precedence (scale of 0-10, as I recall)
Reimplemented in SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgNaryBooleanOp, and SgNaryComparisonOp.
| virtual unsigned int SgExpression::cfgIndexForEnd | ( | ) | const [virtual] |
Determine the CFG index for the end of this construct.
Reimplemented from SgNode.
Reimplemented in SgUnaryOp, SgThrowOp, SgBinaryOp, SgExprListExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgFunctionCallExp, SgSizeOfOp, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgInitializer, SgConstructorInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgNullExpression, SgSubscriptExpression, SgAsteriskShapeExp, SgImpliedDo, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, and SgPseudoDestructorRefExp.
| virtual bool SgExpression::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 SgAndOp, SgOrOp, and SgConditionalExp.
| virtual unsigned int SgExpression::cfgFindChildIndex | ( | SgNode * | n | ) | [virtual] |
Find the index of n in this node's CFG children.
Reimplemented from SgNode.
Reimplemented in SgCastExp, SgConditionalExp, SgNewExp, and SgDesignatedInitializer.
| virtual unsigned int SgExpression::cfgFindNextChildIndex | ( | SgNode * | n | ) | [virtual] |
| virtual std::vector<VirtualCFG::CFGEdge> SgExpression::cfgOutEdges | ( | unsigned int | index | ) | [virtual] |
Find the out edges of a CFG node -- internal version.
Reimplemented from SgNode.
Reimplemented in SgUnaryOp, SgThrowOp, SgBinaryOp, SgAndOp, SgOrOp, SgExprListExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgFunctionCallExp, SgSizeOfOp, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgNullExpression, SgSubscriptExpression, SgAsteriskShapeExp, SgImpliedDo, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, and SgPseudoDestructorRefExp.
| virtual std::vector<VirtualCFG::CFGEdge> SgExpression::cfgInEdges | ( | unsigned int | index | ) | [virtual] |
Find the in edges of a CFG node -- internal version.
Reimplemented from SgNode.
Reimplemented in SgUnaryOp, SgThrowOp, SgBinaryOp, SgAndOp, SgOrOp, SgExprListExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgFunctionCallExp, SgSizeOfOp, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgNullExpression, SgSubscriptExpression, SgAsteriskShapeExp, SgImpliedDo, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, and SgPseudoDestructorRefExp.
| SgExpression::isDefinable | ( | void | ) | const [virtual] |
For Fortran. When called from a node of any other language, behavior is undefined (see SageInterface::is_Fortran_language). Returns a bool value which is true if the current expression is "almost definable". "Almost definable" here means as defined by the Fortran standard (2.5.5), with the caveat that allocatable variables are always called an lvalue. The Fortran standard dictates that an allocatable variable which has not been allocated is not definable. In the general case, it cannot be statically determined whether an allocatable variable has been allocated or not. Note: constants in Fortran are not lvalues, while in C and C++ lvalues may be const.
Reimplemented in SgPointerAssignOp, and SgVarRefExp.
| SgExpression::isUsedAsDefinable | ( | void | ) | const [virtual] |
For Fortran. When called from a node of any other language, behavior is undefined (see SageInterface::is_Fortran_language). Returns a bool value which is true if the current expression is used as a definable value. That is, it is definable (assigned to).
| SgExpression::isLValue | ( | void | ) | const [virtual] |
For C and C++. When called from a node of any other language, behavior is undefined (see SageInterface::is_C*_language). Returns a bool value which is true if the current expression is an lvalue, as defined by the C++ standard.
Reimplemented in SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgCastExp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgCommaOpExp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgCompoundAssignOp, SgVarRefExp, SgMemberFunctionRefExp, SgStringVal, SgFunctionCallExp, SgTypeIdOp, SgConditionalExp, and SgAssignInitializer.
| SgExpression::isUsedAsLValue | ( | void | ) | const [virtual] |
For C and C++. When called from a node of any other language, behavior is undefined (see SageInterface::is_C*_language). Returns a bool value which is true if the current expression is used as an lvalue. That is, it is an lvalue and does not get converted to an rvalue by its parent expression.
| virtual bool SgExpression::isChildUsedAsLValue | ( | const SgExpression * | child | ) | const [virtual] |
Reimplemented in SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgCastExp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgCommaOpExp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgCompoundAssignOp, SgExprListExp, SgVarRefExp, SgMemberFunctionRefExp, SgStringVal, SgFunctionCallExp, SgTypeIdOp, SgConditionalExp, and SgAssignInitializer.
| virtual Sg_File_Info* SgExpression::get_file_info | ( | void | ) | const [virtual] |
Interface function to implement original SAGE interface to SgFile_Info objects.
This function is added explicitly to provide the older interface to the file_info pointer which has been removed and replaced with two Sg_File_Info pointers to mark the start and end of the located node object (previously we only stored the starting location). This function still returns the starting location of the construct.
Reimplemented from SgLocatedNode.
| virtual void SgExpression::set_file_info | ( | Sg_File_Info * | X | ) | [virtual] |
Access function calls set_startingConstruct(Sg_File_Info*) member function.
Reimplemented from SgLocatedNode.
| virtual void SgExpression::fixupCopy | ( | SgNode * | copy, | |
| SgCopyHelp & | help | |||
| ) | const [virtual] |
Reimplemented from SgLocatedNode.
| SgName SgExpression::get_qualified_name_prefix | ( | ) | const |
This function generates the qualified name prefix to be used with the type referenced by this expression.
| SgName SgExpression::get_qualified_name_prefix_for_referenced_type | ( | ) | const |
This function generates the qualified name prefix to be used with the type referenced by this expression.
| virtual int SgExpression::get_name_qualification_length | ( | ) | const [virtual] |
Reimplemented in SgCastExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgEnumVal, SgSizeOfOp, SgTypeIdOp, SgNewExp, and SgConstructorInitializer.
| virtual void SgExpression::set_name_qualification_length | ( | int | name_qualification_length | ) | [virtual] |
Reimplemented in SgCastExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgEnumVal, SgSizeOfOp, SgTypeIdOp, SgNewExp, and SgConstructorInitializer.
| virtual bool SgExpression::get_type_elaboration_required | ( | ) | const [virtual] |
Reimplemented in SgCastExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgEnumVal, SgSizeOfOp, SgTypeIdOp, SgNewExp, and SgConstructorInitializer.
| virtual void SgExpression::set_type_elaboration_required | ( | bool | type_elaboration_required | ) | [virtual] |
Reimplemented in SgCastExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgEnumVal, SgSizeOfOp, SgTypeIdOp, SgNewExp, and SgConstructorInitializer.
| virtual bool SgExpression::get_global_qualification_required | ( | ) | const [virtual] |
Reimplemented in SgCastExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgEnumVal, SgSizeOfOp, SgTypeIdOp, SgNewExp, and SgConstructorInitializer.
| virtual void SgExpression::set_global_qualification_required | ( | bool | global_qualification_required | ) | [virtual] |
Reimplemented in SgCastExp, SgVarRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgEnumVal, SgSizeOfOp, SgTypeIdOp, SgNewExp, and SgConstructorInitializer.
| virtual SgExpression* SgExpression::get_originalExpressionTree | ( | ) | const [virtual] |
Reimplemented in SgCastExp, SgBinaryOp, SgVarRefExp, SgFunctionRefExp, and SgValueExp.
| virtual void SgExpression::set_originalExpressionTree | ( | SgExpression * | X | ) | [virtual] |
Reimplemented in SgCastExp, SgBinaryOp, SgVarRefExp, SgFunctionRefExp, and SgValueExp.
| void SgExpression::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 SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual std::string SgExpression::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 SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual VariantT SgExpression::variantT | ( | ) | const [virtual] |
returns new style SageIII enum values
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| void* SgExpression::operator new | ( | size_t | size | ) |
returns pointer to newly allocated IR node
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| void SgExpression::operator delete | ( | void * | pointer, | |
| size_t | size | |||
| ) |
deallocated memory for IR node (returns memory to memory pool for reuse)
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| void SgExpression::operator delete | ( | void * | pointer | ) |
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| static size_t SgExpression::numberOfNodes | ( | ) | [static] |
Returns the total number of IR nodes of this type.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| static size_t SgExpression::memoryUsage | ( | ) | [static] |
Returns the size in bytes of the total memory allocated for all IR nodes of this type.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual std::vector<SgNode*> SgExpression::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.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual std::vector<std::string> SgExpression::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.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual size_t SgExpression::get_numberOfTraversalSuccessors | ( | ) | [virtual] |
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual SgNode* SgExpression::get_traversalSuccessorByIndex | ( | size_t | idx | ) | [virtual] |
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual size_t SgExpression::get_childIndex | ( | SgNode * | child | ) | [virtual] |
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual RTIReturnType SgExpression::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.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual const char* SgExpression::sage_class_name | ( | ) | const [virtual] |
returns a C style string (char*) representing the class name
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| void SgExpression::executeVisitorMemberFunction | ( | ROSE_VisitorPattern & | visitor | ) |
FOR INTERNAL USE Support for visitor pattern.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual void SgExpression::accept | ( | ROSE_VisitorPattern & | visitor | ) | [virtual] |
DXN (08/09/2010): support for the classic visitor pattern done in GoF.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| static void SgExpression::traverseMemoryPoolNodes | ( | ROSE_VisitTraversal & | visit | ) | [static] |
FOR INTERNAL USE Support for visitor pattern.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| static void SgExpression::traverseMemoryPoolVisitorPattern | ( | ROSE_VisitorPattern & | visitor | ) | [static] |
FOR INTERNAL USE Support for visitor pattern.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| static void SgExpression::visitRepresentativeNode | ( | ROSE_VisitTraversal & | visit | ) | [static] |
FOR INTERNAL USE Support for type-based traversal.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual bool SgExpression::isInMemoryPool | ( | ) | [virtual] |
FOR INTERNAL USE This is used in internal tests to verify that all IR nodes are allocated from the heap.
The AST File I/O depends upon the allocation of IR nodes being from the heap, stack based or global IR nodes should not appear in the AST if it will be written out to a file and read back in. To enforce this concept, this function implements a test to verify that the IR node can be found on the heap and is part of a larger test of the whole AST. This test must pass before the AST can be written out to a file. This is part of a compromise in the design of the AST File I/O to support binary streaming of data to files; for performance. It is also rather difficult, but possible, to build a useful AST with IR nodes allocated on the stack or frm global scope, this test filters out such cased from being used with the AST File I/O mechanism.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual void SgExpression::checkDataMemberPointersIfInMemoryPool | ( | ) | [virtual] |
FOR INTERNAL USE This is used in internal tests to verify that all IR nodes are allocated from the heap.
The AST File I/O depends upon the allocation of IR nodes being from the heap, stack based or global IR nodes should not appear in the AST if it will be written out to a file and read back in. To enforce this concept, this function implements a test to verify that the IR node can be found on the heap and is part of a larger test of the whole AST. This test must pass before the AST can be written out to a file. This is part of a compromise in the design of the AST File I/O to support binary streaming of data to files; for performance. It is also rather difficult, but possible, to build a useful AST with IR nodes allocated on the stack or frm global scope, this test filters out such cased from being used with the AST File I/O mechanism.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual std::vector<std::pair<SgNode*,std::string> > SgExpression::returnDataMemberPointers | ( | ) | const [virtual] |
FOR INTERNAL USE Returns STL vector of pairs of SgNode* and strings for use in AST tools
This functions is part of general support for many possible tools to operate on the AST. The forms a list of ALL IR node pointers used by each IR node, and is a supperset of the get_traversalSuccessorContainer(). It is (I think) less than the set of pointers used by the AST file I/O. This is part of work implemented by Andreas, and support tools such as the AST graph generation.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp, SgClassNameRefExp, SgFunctionRefExp, SgMemberFunctionRefExp, SgValueExp, SgBoolValExp, SgStringVal, SgShortVal, SgCharVal, SgUnsignedCharVal, SgWcharVal, SgUnsignedShortVal, SgIntVal, SgEnumVal, SgUnsignedIntVal, SgLongIntVal, SgLongLongIntVal, SgUnsignedLongLongIntVal, SgUnsignedLongVal, SgFloatVal, SgDoubleVal, SgLongDoubleVal, SgComplexVal, SgUpcThreads, SgUpcMythread, SgCallExpression, SgFunctionCallExp, SgSizeOfOp, SgUpcLocalsizeofExpression, SgUpcBlocksizeofExpression, SgUpcElemsizeofExpression, SgJavaInstanceOfOp, SgTypeIdOp, SgConditionalExp, SgNewExp, SgDeleteExp, SgThisExp, SgRefExp, SgInitializer, SgAggregateInitializer, SgConstructorInitializer, SgAssignInitializer, SgDesignatedInitializer, SgVarArgStartOp, SgVarArgOp, SgVarArgEndOp, SgVarArgCopyOp, SgVarArgStartOneOperandOp, SgNullExpression, SgVariantExpression, SgSubscriptExpression, SgColonShapeExp, SgAsteriskShapeExp, SgImpliedDo, SgIOItemExpression, SgStatementExpression, SgAsmOp, SgLabelRefExp, SgActualArgumentExpression, SgUnknownArrayOrFunctionReference, SgPseudoDestructorRefExp, SgCAFCoExpression, SgCudaKernelCallExp, SgCudaKernelExecConfig, SgLambdaRefExp, SgDictionaryExp, SgKeyDatumPair, SgComprehension, SgListComprehension, SgSetComprehension, SgDictionaryComprehension, SgNaryOp, SgNaryBooleanOp, SgNaryComparisonOp, SgStringConversion, and SgYieldExpression.
| virtual void SgExpression::processDataMemberReferenceToPointers | ( | ReferenceToPointerHandler * | ) | [virtual] |
FOR INTERNAL USE Processes pairs of references to SgNode* and strings for use in AST tools
This functions similar to returnDataMemberPointers() except that it passes references to a handler object. As a result there is FAR more damage that can be done by using this function, but it is type-safe. This is provided for support of internal tools that operate on the AST, e.g the AST Merge mechanism.
Reimplemented from SgLocatedNode.
Reimplemented in SgUnaryOp, SgExpressionRoot, SgMinusOp, SgUnaryAddOp, SgNotOp, SgPointerDerefExp, SgAddressOfOp, SgMinusMinusOp, SgPlusPlusOp, SgBitComplementOp, SgCastExp, SgThrowOp, SgRealPartOp, SgImagPartOp, SgConjugateOp, SgUserDefinedUnaryOp, SgBinaryOp, SgArrowExp, SgDotExp, SgDotStarOp, SgArrowStarOp, SgEqualityOp, SgLessThanOp, SgGreaterThanOp, SgNotEqualOp, SgLessOrEqualOp, SgGreaterOrEqualOp, SgAddOp, SgSubtractOp, SgMultiplyOp, SgDivideOp, SgIntegerDivideOp, SgModOp, SgAndOp, SgOrOp, SgBitXorOp, SgBitAndOp, SgBitOrOp, SgCommaOpExp, SgLshiftOp, SgRshiftOp, SgPntrArrRefExp, SgScopeOp, SgAssignOp, SgExponentiationOp, SgJavaUnsignedRshiftOp, SgConcatenationOp, SgPointerAssignOp, SgUserDefinedBinaryOp, SgCompoundAssignOp, SgPlusAssignOp, SgMinusAssignOp, SgAndAssignOp, SgIorAssignOp, SgMultAssignOp, SgDivAssignOp, SgModAssignOp, SgXorAssignOp, SgLshiftAssignOp, SgRshiftAssignOp, SgJavaUnsignedRshiftAssignOp, SgIntegerDivideAssignOp, SgExponentiationAssignOp, SgMembershipOp, SgNonMembershipOp, SgIsOp, SgIsNotOp, SgExprListExp, SgListExp, SgTupleExp, SgVarRefExp,