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

Enumerations

enum  SourcePositionClassification {
  e_sourcePositionError,
  e_sourcePositionDefault,
  e_sourcePositionTransformation,
  e_sourcePositionCompilerGenerated,
  e_sourcePositionNullPointers,
  e_sourcePositionFrontendConstruction,
  e_sourcePosition_last
}
 

Functions

SourcePositionClassification getSourcePositionClassificationMode ()
 Get the current source position classification (defines how IR nodes built by the SageBuilder interface will be classified). More...
 
std::string display (SourcePositionClassification &scp)
 display function for debugging More...
 
void setSourcePositionClassificationMode (SourcePositionClassification X)
 Set the current source position classification (defines how IR nodes built by the SageBuilder interface will be classified). More...
 
SgName appendTemplateArgumentsToName (const SgName &name, const SgTemplateArgumentPtrList &templateArgumentsList)
 
Builders for SgType

Builders for simple and complex SgType nodes, such as integer type, function type, array type, struct type, etc.

Todo:
SgModifierType,SgNamedType(SgClassType,SgEnumType,SgTypedefType), SgQualifiedNameType, SgTemplateType,SgTypeComplex, SgTypeDefault,SgTypeEllipse,SgTypeGlobalVoid,SgTypeImaginary
ROSE_DLL_API SgTypeBoolbuildBoolType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeCharbuildCharType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeDoublebuildDoubleType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeFloatbuildFloatType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeIntbuildIntType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeLongbuildLongType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeLongDoublebuildLongDoubleType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeLongLongbuildLongLongType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeShortbuildShortType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeStringbuildStringType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeStringbuildStringType (SgExpression *stringLengthExpression)
 Built in simple types. More...
 
ROSE_DLL_API SgTypeVoidbuildVoidType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeWcharbuildWcharType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeSignedCharbuildSignedCharType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeSignedIntbuildSignedIntType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeSignedLongbuildSignedLongType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeSignedLongLongbuildSignedLongLongType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeSignedShortbuildSignedShortType ()
 Built in simple types. More...
 
ROSE_DLL_API
SgTypeSigned128bitInteger
buildSigned128bitIntegerType ()
 Built in simple types. More...
 
ROSE_DLL_API
SgTypeUnsigned128bitInteger
buildUnsigned128bitIntegerType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeUnsignedCharbuildUnsignedCharType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeUnsignedIntbuildUnsignedIntType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeUnsignedLongbuildUnsignedLongType ()
 Built in simple types. More...
 
ROSE_DLL_API
SgTypeUnsignedLongLong
buildUnsignedLongLongType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeUnsignedShortbuildUnsignedShortType ()
 Built in simple types. More...
 
ROSE_DLL_API SgTypeUnknownbuildUnknownType ()
 Built in simple types. More...
 
ROSE_DLL_API SgPointerTypebuildPointerType (SgType *base_type=NULL)
 Build a pointer type. More...
 
ROSE_DLL_API SgReferenceTypebuildReferenceType (SgType *base_type=NULL)
 Build a reference type. More...
 
ROSE_DLL_API SgModifierTypebuildModifierType (SgType *base_type=NULL)
 Build a modifier type. More...
 
ROSE_DLL_API SgModifierTypebuildConstType (SgType *base_type=NULL)
 Build a const type. More...
 
ROSE_DLL_API SgModifierTypebuildVolatileType (SgType *base_type=NULL)
 Build a volatile type. More...
 
ROSE_DLL_API SgModifierTypebuildRestrictType (SgType *base_type)
 Build a restrict type. More...
 
ROSE_DLL_API SgArrayTypebuildArrayType (SgType *base_type=NULL, SgExpression *index=NULL)
 Build ArrayType. More...
 
ROSE_DLL_API SgModifierTypebuildFortranKindType (SgType *base_type, SgExpression *kindExpression)
 Build a type based on the Fortran kind mechanism. More...
 
ROSE_DLL_API SgFunctionTypebuildFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList=NULL)
 Build function type from return type and parameter type list. More...
 
ROSE_DLL_API SgFunctionTypebuildFunctionType (SgType *return_type, SgFunctionParameterList *argList=NULL)
 Build function type from return type and parameter list. More...
 
ROSE_DLL_API SgMemberFunctionTypebuildMemberFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList, SgClassDefinition *struct_name, unsigned int mfunc_specifier)
 Built in simple types. More...
 
ROSE_DLL_API SgMemberFunctionTypebuildMemberFunctionType (SgType *return_type, SgFunctionParameterList *argList=NULL, SgClassDefinition *struct_name=NULL, unsigned int mfunc_specifier=0)
 Built in simple types. More...
 
ROSE_DLL_API SgMemberFunctionTypebuildMemberFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList, SgClassType *classType, unsigned int mfunc_specifier)
 Built in simple types. More...
 
ROSE_DLL_API SgTypebuildOpaqueType (std::string const type_name, SgScopeStatement *scope)
 Build an opaque type with a name, useful when a type's details are unknown during transformation, especially for a runtime library's internal type. Must provide scope here. More...
 
ROSE_DLL_API SgModifierTypebuildUpcStrictType (SgType *base_type=NULL)
 Build a UPC strict type. More...
 
ROSE_DLL_API SgModifierTypebuildUpcRelaxedType (SgType *base_type=NULL)
 Build a UPC relaxed type. More...
 
ROSE_DLL_API SgModifierTypebuildUpcSharedType (SgType *base_type=NULL, long layout=-1)
 Build a UPC shared type. More...
 
ROSE_DLL_API SgModifierTypebuildUpcBlockIndefiniteType (SgType *base_type=NULL)
 Build a UPC shared[] type. More...
 
ROSE_DLL_API SgModifierTypebuildUpcBlockStarType (SgType *base_type=NULL)
 Build a UPC shared[*] type. More...
 
ROSE_DLL_API SgModifierTypebuildUpcBlockNumberType (SgType *base_type, long block_factor)
 Build a UPC shared[n] type. More...
 
ROSE_DLL_API SgTypeComplexbuildComplexType (SgType *base_type=NULL)
 Build a complex type. More...
 
ROSE_DLL_API SgTypeImaginarybuildImaginaryType (SgType *base_type=NULL)
 Build an imaginary type. More...
 
ROSE_DLL_API
SgConstVolatileModifier
buildConstVolatileModifier (SgConstVolatileModifier::cv_modifier_enum mtype=SgConstVolatileModifier::e_unknown)
 Build a const/volatile type qualifier. More...
 
Builders for expressions

handle side effects of parent pointers, Sg_File_Info, lvalue etc.

Expressions are usually built using bottomup approach, i.e. buiding operands first, then the expression operating on the operands. It is also possible to build expressions with NULL operands or empty values first, then set them afterwards.

SgVariantExpressionbuildVariantExpression ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgNullExpressionbuildNullExpression ()
 Build a null expression, set file info as the default one. More...
 
SgNullExpressionbuildNullExpression_nfi ()
 No file info version of buildNullExpression(). File info is to be set later on. More...
 
SgBoolValExpbuildBoolValExp (int value=0)
 Build a bool value expression, the name convention of SgBoolValExp is little different from others for some unknown reason. More...
 
SgBoolValExpbuildBoolValExp (bool value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgBoolValExpbuildBoolValExp_nfi (int value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgCharValbuildCharVal (char value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgCharValbuildCharVal_nfi (char value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgWcharValbuildWcharVal (wchar_t value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgWcharValbuildWcharVal_nfi (wchar_t value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgComplexValbuildComplexVal (long double real_value=0.0, long double imaginary_value=0.0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgComplexValbuildComplexVal (SgValueExp *real_value, SgValueExp *imaginary_value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgComplexValbuildComplexVal_nfi (SgValueExp *real_value, SgValueExp *imaginary_value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgComplexValbuildImaginaryVal (long double imaginary_value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgComplexValbuildImaginaryVal (SgValueExp *imaginary_value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgComplexValbuildImaginaryVal_nfi (SgValueExp *imaginary_value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgDoubleValbuildDoubleVal (double value=0.0)
 Build a double value expression. More...
 
SgDoubleValbuildDoubleVal_nfi (double value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgFloatValbuildFloatVal (float value=0.0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgFloatValbuildFloatVal_nfi (float value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgIntValbuildIntVal (int value=0)
 Build an integer value expression. More...
 
SgIntValbuildIntValHex (int value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgIntValbuildIntVal_nfi (int value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgLongIntValbuildLongIntVal (long value=0)
 Build a long integer value expression. More...
 
SgLongIntValbuildLongIntValHex (long value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgLongIntValbuildLongIntVal_nfi (long value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgLongLongIntValbuildLongLongIntVal (long long value=0)
 Build a long long integer value expression. More...
 
SgLongLongIntValbuildLongLongIntValHex (long long value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgLongLongIntValbuildLongLongIntVal_nfi (long long value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgEnumValbuildEnumVal_nfi (int value, SgEnumDeclaration *decl, SgName name)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgLongDoubleValbuildLongDoubleVal (long double value=0.0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgLongDoubleValbuildLongDoubleVal_nfi (long double value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgShortValbuildShortVal (short value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgShortValbuildShortValHex (short value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgShortValbuildShortVal_nfi (short value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgStringValbuildStringVal (std::string value="")
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgStringValbuildStringVal_nfi (std::string value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgUnsignedCharValbuildUnsignedCharVal (unsigned char v=0)
 Build an unsigned char. More...
 
SgUnsignedCharValbuildUnsignedCharValHex (unsigned char v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgUnsignedCharValbuildUnsignedCharVal_nfi (unsigned char v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgUnsignedShortValbuildUnsignedShortVal (unsigned short v=0)
 Build an unsigned short integer. More...
 
SgUnsignedShortValbuildUnsignedShortValHex (unsigned short v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgUnsignedShortValbuildUnsignedShortVal_nfi (unsigned short v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgUnsignedIntValbuildUnsignedIntVal (unsigned int v=0)
 Build an unsigned integer. More...
 
SgUnsignedIntValbuildUnsignedIntValHex (unsigned int v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgUnsignedIntValbuildUnsignedIntVal_nfi (unsigned int v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgUnsignedLongValbuildUnsignedLongVal (unsigned long v=0)
 Build a unsigned long integer. More...
 
SgUnsignedLongValbuildUnsignedLongValHex (unsigned long v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgUnsignedLongValbuildUnsignedLongVal_nfi (unsigned long v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API
SgUnsignedLongLongIntVal
buildUnsignedLongLongIntVal (unsigned long long v=0)
 Build an unsigned long long integer. More...
 
SgUnsignedLongLongIntValbuildUnsignedLongLongIntValHex (unsigned long long v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgUnsignedLongLongIntValbuildUnsignedLongLongIntVal_nfi (unsigned long long v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgTemplateParameterValbuildTemplateParameterVal (int template_parameter_position=-1)
 Build an template parameter value expression. More...
 
SgTemplateParameterValbuildTemplateParameterVal_nfi (int template_parameter_position, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgUpcThreadsbuildUpcThreads ()
 Build UPC THREADS (integer expression) More...
 
SgUpcThreadsbuildUpcThreads_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgUpcMythreadbuildUpcMythread ()
 Build UPC MYTHREAD (integer expression) More...
 
SgUpcMythreadbuildUpcMythread_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgThisExpbuildThisExp (SgClassSymbol *sym)
 Build this pointer. More...
 
SgThisExpbuildThisExp_nfi (SgClassSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgSuperExpbuildSuperExp (SgClassSymbol *sym)
 Build super pointer. More...
 
SgSuperExpbuildSuperExp_nfi (SgClassSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgClassExpbuildClassExp (SgClassSymbol *sym)
 Build class pointer. More...
 
SgClassExpbuildClassExp_nfi (SgClassSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgLambdaRefExpbuildLambdaRefExp (SgType *return_type, SgFunctionParameterList *params, SgScopeStatement *scope)
 Build lambda expression. More...
 
template<class T >
T * buildUnaryExpression (SgExpression *operand=NULL)
 Template function to build a unary expression of type T. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). They are also used for the unary vararg operators (which are not technically unary operators). More...
 
template<class T >
T * buildUnaryExpression_nfi (SgExpression *operand)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgCastExpbuildCastExp (SgExpression *operand_i=NULL, SgType *expression_type=NULL, SgCastExp::cast_type_enum cast_type=SgCastExp::e_C_style_cast)
 Build a type casting expression. More...
 
SgCastExpbuildCastExp_nfi (SgExpression *operand_i, SgType *expression_type, SgCastExp::cast_type_enum cast_type)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgVarArgOpbuildVarArgOp_nfi (SgExpression *operand_i, SgType *expression_type)
 Build vararg op expression. More...
 
ROSE_DLL_API SgMinusOpbuildMinusOp (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Build – expression, Sgop_mode is a value of either SgUnaryOp::prefix or SgUnaryOp::postfix. More...
 
SgMinusOpbuildMinusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgMinusMinusOpbuildMinusMinusOp (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgMinusMinusOpbuildMinusMinusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgPlusPlusOpbuildPlusPlusOp (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Build ++x or x++ , specify prefix or postfix using either SgUnaryOp::prefix or SgUnaryOp::postfix. More...
 
SgPlusPlusOpbuildPlusPlusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgThrowOpbuildThrowOp (SgExpression *, SgThrowOp::e_throw_kind)
 Build a ThrowOp expression. More...
 
ROSE_DLL_API SgNewExpbuildNewExp (SgType *type, SgExprListExp *exprListExp, SgConstructorInitializer *constInit, SgExpression *expr, short int val, SgFunctionDeclaration *funcDecl)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgDeleteExpbuildDeleteExp (SgExpression *variable, short is_array, short need_global_specifier, SgFunctionDeclaration *deleteOperatorDeclaration)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgTypeIdOpbuildTypeIdOp (SgExpression *operand_expr, SgType *operand_type)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
template<class T >
T * buildBinaryExpression (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 Template function to build a binary expression of type T, taking care of parent pointers, file info, lvalue, etc. Available instances include: buildAddOp(), buildAndAssignOp(), buildAndOp(), buildArrowExp(),buildArrowStarOp(), buildAssignOp(),buildBitAndOp(),buildBitOrOp(),buildBitXorOp(),buildCommaOpExp(), buildConcatenationOp(),buildDivAssignOp(),buildDivideOp(),buildDotExp(),buildEqualityOp(),buildExponentiationOp(),buildGreaterOrEqualOp(),buildGreaterThanOp(),buildIntegerDivideOp(),buildIorAssignOp(),buildLessOrEqualOp(),buildLessThanOp(),buildLshiftAssignOp(),buildLshiftOp(),buildMinusAssignOp(),buildModAssignOp(),buildModOp(),buildMultAssignOp(),buildMultiplyOp(),buildNotEqualOp(),buildOrOp(),buildPlusAssignOp(),buildPntrArrRefExp(),buildRshiftAssignOp(),buildRshiftOp(),buildScopeOp(),buildSubtractOp()buildXorAssignOp() More...
 
template<class T >
T * buildBinaryExpression_nfi (SgExpression *lhs, SgExpression *rhs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgConditionalExpbuildConditionalExp (SgExpression *test=NULL, SgExpression *a=NULL, SgExpression *b=NULL)
 Build a conditional expression ?: More...
 
SgConditionalExpbuildConditionalExp_nfi (SgExpression *test, SgExpression *a, SgExpression *b, SgType *t)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgExprListExpbuildExprListExp (SgExpression *expr1=NULL, SgExpression *expr2=NULL, SgExpression *expr3=NULL, SgExpression *expr4=NULL, SgExpression *expr5=NULL, SgExpression *expr6=NULL, SgExpression *expr7=NULL, SgExpression *expr8=NULL, SgExpression *expr9=NULL, SgExpression *expr10=NULL)
 Build a SgExprListExp, used for function call parameter list etc. More...
 
ROSE_DLL_API SgExprListExpbuildExprListExp (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgExprListExpbuildExprListExp_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgExprListExpbuildExprListExp_nfi (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgTupleExpbuildTupleExp (SgExpression *expr1=NULL, SgExpression *expr2=NULL, SgExpression *expr3=NULL, SgExpression *expr4=NULL, SgExpression *expr5=NULL, SgExpression *expr6=NULL, SgExpression *expr7=NULL, SgExpression *expr8=NULL, SgExpression *expr9=NULL, SgExpression *expr10=NULL)
 Build a SgTupleExp. More...
 
ROSE_DLL_API SgTupleExpbuildTupleExp (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgTupleExpbuildTupleExp_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgTupleExpbuildTupleExp_nfi (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgListExpbuildListExp (SgExpression *expr1=NULL, SgExpression *expr2=NULL, SgExpression *expr3=NULL, SgExpression *expr4=NULL, SgExpression *expr5=NULL, SgExpression *expr6=NULL, SgExpression *expr7=NULL, SgExpression *expr8=NULL, SgExpression *expr9=NULL, SgExpression *expr10=NULL)
 Build a SgListExp. More...
 
ROSE_DLL_API SgListExpbuildListExp (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgListExpbuildListExp_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgListExpbuildListExp_nfi (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgComprehensionbuildComprehension (SgExpression *target, SgExpression *iter, SgExprListExp *ifs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgComprehensionbuildComprehension_nfi (SgExpression *target, SgExpression *iter, SgExprListExp *ifs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgListComprehensionbuildListComprehension (SgExpression *elt, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgListComprehensionbuildListComprehension_nfi (SgExpression *elt, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgSetComprehensionbuildSetComprehension (SgExpression *elt, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgSetComprehensionbuildSetComprehension_nfi (SgExpression *elt, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API
SgDictionaryComprehension
buildDictionaryComprehension (SgKeyDatumPair *kd_pair, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgDictionaryComprehensionbuildDictionaryComprehension_nfi (SgKeyDatumPair *kd_pair, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp (const SgName &name, SgScopeStatement *scope=NULL)
 Build SgVarRefExp based on a variable's Sage name. It will lookup symbol table internally starting from scope. A variable name is unique so type can be inferred (double check this). More...
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp (const std::string &varName, SgScopeStatement *scope=NULL)
 Build SgVarRefExp based on a variable's name. It will lookup symbol table internally starting from scope. A variable is unique so type can be inferred. More...
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp (const char *varName, SgScopeStatement *scope=NULL)
 Build a variable reference using a C style char array. More...
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp (SgVariableSymbol *varSymbol)
 Build a variable reference from an existing symbol. More...
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp_nfi (SgVariableSymbol *varSymbol)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp (SgVariableDeclaration *vardecl)
 Build a variable reference from an existing variable declaration. The assumption is a SgVariableDeclartion only declares one variable in the ROSE AST. More...
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp (SgInitializedName *initname, SgScopeStatement *scope=NULL)
 build a variable reference from an initialized name It first tries to grab the associated symbol, then call buildVarRefExp(const SgName& name, SgScopeStatement*) if symbol does not exist. More...
 
ROSE_DLL_API SgVarRefExpbuildOpaqueVarRefExp (const std::string &varName, SgScopeStatement *scope=NULL)
 Build a variable reference expression at scope to an opaque variable which has unknown information except for its name. Used when referring to an internal variable defined in some headers of runtime libraries.(The headers are not yet inserted into the file during translation). Similar to buildOpaqueType();. More...
 
SgCompoundLiteralExpbuildCompoundLiteralExp_nfi (SgVariableSymbol *varSymbol)
 Build function for compound literals (uses a SgVariableSymbol and is similar to buildVarRefExp_nfi()). More...
 
SgCompoundLiteralExpbuildCompoundLiteralExp (SgVariableSymbol *varSymbol)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgLabelRefExpbuildLabelRefExp (SgLabelSymbol *s)
 Build a Fortran numeric label ref exp. More...
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (const SgName &name, const SgType *func_type, SgScopeStatement *scope=NULL)
 Build SgFunctionRefExp based on a C++ function's name and function type. It will lookup symbol table internally starting from scope. A hidden prototype will be created internally to introduce a new function symbol if the function symbol cannot be found. More...
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (const char *name, const SgType *func_type, SgScopeStatement *scope=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (const SgName &name, SgScopeStatement *scope=NULL)
 Build SgFunctionRefExp based on a C function's name. It will lookup symbol table internally starting from scope and return the first matching function. More...
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (const char *name, SgScopeStatement *scope=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (const SgFunctionDeclaration *func_decl)
 Build SgFunctionRefExp based on a function's declaration. More...
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (SgFunctionSymbol *sym)
 Build SgFunctionRefExp based on a function's symbol. More...
 
SgFunctionRefExpbuildFunctionRefExp_nfi (SgFunctionSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgTemplateFunctionRefExpbuildTemplateFunctionRefExp_nfi (SgTemplateFunctionSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgTemplateMemberFunctionRefExpbuildTemplateMemberFunctionRefExp_nfi (SgTemplateMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgMemberFunctionRefExpbuildMemberFunctionRefExp_nfi (SgMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API
SgMemberFunctionRefExp
buildMemberFunctionRefExp (SgMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgClassNameRefExpbuildClassNameRefExp_nfi (SgClassSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgClassNameRefExpbuildClassNameRefExp (SgClassSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgFunctionCallExpbuildFunctionCallExp (SgFunctionSymbol *sym, SgExprListExp *parameters=NULL)
 Build a function call expression. More...
 
SgFunctionCallExpbuildFunctionCallExp_nfi (SgExpression *f, SgExprListExp *parameters=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgFunctionCallExpbuildFunctionCallExp (SgExpression *f, SgExprListExp *parameters=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgFunctionCallExpbuildFunctionCallExp (const SgName &name, SgType *return_type, SgExprListExp *parameters=NULL, SgScopeStatement *scope=NULL)
 Build a function call expression,it will automatically search for function symbols internally to build a right function reference etc. It tolerates the lack of the function symbol to support generating calls to library functions whose headers have not yet been inserted. More...
 
SgTypeTraitBuiltinOperatorbuildTypeTraitBuiltinOperator (SgName functionName, SgNodePtrList parameters)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgCudaKernelCallExpbuildCudaKernelCallExp_nfi (SgExpression *kernel, SgExprListExp *parameters=NULL, SgCudaKernelExecConfig *config=NULL)
 Build a CUDA kernel call expression (kernel<<<config>>>(parameters)) More...
 
SgCudaKernelExecConfigbuildCudaKernelExecConfig_nfi (SgExpression *grid=NULL, SgExpression *blocks=NULL, SgExpression *shared=NULL, SgExpression *stream=NULL)
 Build a CUDA kernel execution configuration (<<<grid, blocks, shared, stream>>>) More...
 
ROSE_DLL_API SgAssignInitializerbuildAssignInitializer (SgExpression *operand_i=NULL, SgType *expression_type=NULL)
 Build the rhs of a variable declaration which includes an assignment. More...
 
SgAssignInitializerbuildAssignInitializer_nfi (SgExpression *operand_i=NULL, SgType *expression_type=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API
SgAggregateInitializer
buildAggregateInitializer (SgExprListExp *initializers=NULL, SgType *type=NULL)
 Build an aggregate initializer. More...
 
SgAggregateInitializerbuildAggregateInitializer_nfi (SgExprListExp *initializers, SgType *type=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgCompoundInitializerbuildCompoundInitializer (SgExprListExp *initializers=NULL, SgType *type=NULL)
 Build a compound initializer, for vector type initialization. More...
 
SgCompoundInitializerbuildCompoundInitializer_nfi (SgExprListExp *initializers, SgType *type=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgConstructorInitializerbuildConstructorInitializer (SgMemberFunctionDeclaration *declaration, SgExprListExp *args, SgType *expression_type, bool need_name, bool need_qualifier, bool need_parenthesis_after_name, bool associated_class_unknown)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgConstructorInitializerbuildConstructorInitializer_nfi (SgMemberFunctionDeclaration *declaration, SgExprListExp *args, SgType *expression_type, bool need_name, bool need_qualifier, bool need_parenthesis_after_name, bool associated_class_unknown)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgSizeOfOpbuildSizeOfOp (SgExpression *exp=NULL)
 Build sizeof() expression with an expression parameter. More...
 
SgSizeOfOpbuildSizeOfOp_nfi (SgExpression *exp)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
ROSE_DLL_API SgSizeOfOpbuildSizeOfOp (SgType *type=NULL)
 Build sizeof() expression with a type parameter. More...
 
SgSizeOfOpbuildSizeOfOp_nfi (SgType *type)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgAlignOfOpbuildAlignOfOp (SgExpression *exp=NULL)
 Build alignof() expression with an expression parameter. More...
 
SgAlignOfOpbuildAlignOfOp_nfi (SgExpression *exp)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgAlignOfOpbuildAlignOfOp (SgType *type=NULL)
 Build alignof() expression with a type parameter. More...
 
SgAlignOfOpbuildAlignOfOp_nfi (SgType *type)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). More...
 
SgJavaInstanceOfOpbuildJavaInstanceOfOp (SgExpression *exp=NULL, SgType *type=NULL)
 This is part of Java specific operator support. More...
 
Builders for support nodes

AST high level builders for SgSupport nodes

ROSE_DLL_API SgInitializedNamebuildInitializedName (const SgName &name, SgType *type, SgInitializer *init=NULL)
 Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere. More...
 
ROSE_DLL_API SgInitializedNamebuildInitializedName (const std::string &name, SgType *type)
 Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere. More...
 
ROSE_DLL_API SgInitializedNamebuildInitializedName (const char *name, SgType *type)
 Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere. More...
 
SgInitializedNamebuildInitializedName_nfi (const SgName &name, SgType *type, SgInitializer *init)
 Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere. More...
 
ROSE_DLL_API
SgFunctionParameterTypeList
buildFunctionParameterTypeList (SgFunctionParameterList *paralist)
 Build SgFunctionParameterTypeList from SgFunctionParameterList. More...
 
ROSE_DLL_API
SgFunctionParameterTypeList
buildFunctionParameterTypeList (SgExprListExp *expList)
 Build SgFunctionParameterTypeList from an expression list, useful when building a function call. More...
 
ROSE_DLL_API
SgFunctionParameterTypeList
buildFunctionParameterTypeList (SgType *type0=NULL, SgType *type1=NULL, SgType *type2=NULL, SgType *type3=NULL, SgType *type4=NULL, SgType *type5=NULL, SgType *type6=NULL, SgType *type7=NULL)
 Build an SgFunctionParameterTypeList from SgTypes. To build an. More...
 
Builders for statements

AST high level builders for SgStatement, explicit scope parameters are allowed for flexibility. Please use SageInterface::appendStatement(), prependStatement(), and insertStatement() to attach the newly built statements into an AST tree. Calling member functions like SgScopeStatement::prepend_statement() or using container functions such as pushback() is discouraged since they don't handle many side effects for symbol tables, source file information, scope and parent pointers etc.

ROSE_DLL_API
SgVariableDeclaration
buildVariableDeclaration (const SgName &name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgVariableDeclaration
buildVariableDeclaration (const std::string &name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgVariableDeclaration
buildVariableDeclaration (const char *name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
SgVariableDeclarationbuildVariableDeclaration_nfi (const SgName &name, SgType *type, SgInitializer *varInit, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently. More...
 
SgTemplateVariableDeclarationbuildTemplateVariableDeclaration_nfi (const SgName &name, SgType *type, SgInitializer *varInit, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgTypedefDeclarationbuildTypedefDeclaration (const std::string &name, SgType *base_type, SgScopeStatement *scope=NULL, bool has_defining_base=false)
 Build a typedef declaration, such as: typedef int myint; typedef struct A {..} s_A;. More...
 
SgTypedefDeclarationbuildTypedefDeclaration_nfi (const std::string &name, SgType *base_type, SgScopeStatement *scope=NULL, bool has_defining_base=false)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgFunctionParameterList
buildFunctionParameterList (SgInitializedName *in1=NULL, SgInitializedName *in2=NULL, SgInitializedName *in3=NULL, SgInitializedName *in4=NULL, SgInitializedName *in5=NULL, SgInitializedName *in6=NULL, SgInitializedName *in7=NULL, SgInitializedName *in8=NULL, SgInitializedName *in9=NULL, SgInitializedName *in10=NULL)
 Build an empty SgFunctionParameterList, possibly with some initialized names filled in. More...
 
SgFunctionParameterListbuildFunctionParameterList_nfi ()
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgFunctionParameterList
buildFunctionParameterList (SgFunctionParameterTypeList *paraTypeList)
 Build an SgFunctionParameterList from SgFunctionParameterTypeList, like (int, float,...), used for parameter list of prototype functions when function type( including parameter type list) is known. More...
 
SgFunctionParameterListbuildFunctionParameterList_nfi (SgFunctionParameterTypeList *paraTypeList)
 Build a variable declaration, handle symbol table transparently. More...
 
void setTemplateNameInTemplateInstantiations (SgFunctionDeclaration *func, const SgName &name)
 Build a variable declaration, handle symbol table transparently. More...
 
void setTemplateArgumentParents (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently. More...
 
void testTemplateArgumentParents (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently. More...
 
SgTemplateArgumentPtrListgetTemplateArgumentList (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently. More...
 
void testTemplateParameterParents (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently. More...
 
void setTemplateParameterParents (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently. More...
 
SgTemplateParameterPtrListgetTemplateParameterList (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently. More...
 
void setTemplateArgumentsInDeclaration (SgDeclarationStatement *decl, SgTemplateArgumentPtrList *templateArgumentsList_input)
 Build a variable declaration, handle symbol table transparently. More...
 
void setTemplateSpecializationArgumentsInDeclaration (SgDeclarationStatement *decl, SgTemplateArgumentPtrList *templateSpecializationArgumentsList_input)
 Build a variable declaration, handle symbol table transparently. More...
 
void setTemplateParametersInDeclaration (SgDeclarationStatement *decl, SgTemplateParameterPtrList *templateParametersList_input)
 Build a variable declaration, handle symbol table transparently. More...
 
template<class actualFunction >
actualFunction * buildNondefiningFunctionDeclaration_T (const SgName &name, SgType *return_type, SgFunctionParameterList *paralist, bool isMemberFunction, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, SgTemplateArgumentPtrList *templateArgumentsList, SgTemplateParameterPtrList *templateParameterList)
 A template function for function prototype declaration builders. More...
 
ROSE_DLL_API
SgFunctionDeclaration
buildNondefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, bool buildTemplateInstantiation, SgTemplateArgumentPtrList *templateArgumentsList)
 Build a prototype for a function, handle function type, symbol etc transparently. More...
 
ROSE_DLL_API
SgFunctionDeclaration
buildNondefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
SgTemplateFunctionDeclarationbuildNondefiningTemplateFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL, SgTemplateParameterPtrList *templateParameterList=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgTemplateFunctionDeclaration
buildDefiningTemplateFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, SgTemplateFunctionDeclaration *first_nondefining_declaration)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgFunctionDeclaration
buildNondefiningFunctionDeclaration (const SgFunctionDeclaration *funcdecl, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a prototype for an existing function declaration (defining or nondefining is fine) More...
 
ROSE_DLL_API
SgMemberFunctionDeclaration
buildNondefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, bool buildTemplateInstantiation, SgTemplateArgumentPtrList *templateArgumentsList)
 Build a prototype member function declaration. More...
 
ROSE_DLL_API
SgTemplateMemberFunctionDeclaration
buildNondefiningTemplateMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, SgTemplateParameterPtrList *templateParameterList)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgTemplateMemberFunctionDeclaration
buildDefiningTemplateMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, SgTemplateMemberFunctionDeclaration *first_nondefing_declaration)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgMemberFunctionDeclaration
buildDefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, bool buildTemplateInstantiation, unsigned int functionConstVolatileFlags, SgMemberFunctionDeclaration *first_nondefinng_declaration, SgTemplateArgumentPtrList *templateArgumentsList)
 Build a defining ( non-prototype) member function declaration. More...
 
ROSE_DLL_API
SgMemberFunctionDeclaration
buildDefiningMemberFunctionDeclaration (const SgName &name, SgMemberFunctionType *func_type, SgScopeStatement *scope, SgExprListExp *decoratorList=NULL, SgMemberFunctionDeclaration *first_nondefinng_declaration=NULL)
 Build a defining ( non-prototype) member function declaration from a SgMemberFunctionType. More...
 
ROSE_DLL_API
SgMemberFunctionDeclaration
buildNondefiningMemberFunctionDeclaration (const SgMemberFunctionDeclaration *funcdecl, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL, unsigned int functionConstVolatileFlags=0)
 Build a prototype for an existing member function declaration (defining or nondefining is fine) More...
 
ROSE_DLL_API
SgMemberFunctionDeclaration
buildNondefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgMemberFunctionDeclaration
buildDefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
template<class actualFunction >
actualFunction * buildDefiningFunctionDeclaration_T (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, bool isMemberFunction, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, actualFunction *first_nondefinng_declaration, SgTemplateArgumentPtrList *templateArgumentsList)
 A template function for function declaration builders. More...
 
ROSE_DLL_API
SgFunctionDeclaration
buildDefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, bool buildTemplateInstantiation=false, SgFunctionDeclaration *first_nondefinng_declaration=NULL, SgTemplateArgumentPtrList *templateArgumentsList=NULL)
 Build a function declaration with a function body. More...
 
ROSE_DLL_API
SgFunctionDeclaration
buildDefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgProcedureHeaderStatement
buildProcedureHeaderStatement (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgProcedureHeaderStatement::subprogram_kind_enum, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgProcedureHeaderStatement
buildProcedureHeaderStatement (const char *name, SgType *return_type, SgFunctionParameterList *parlist, SgProcedureHeaderStatement::subprogram_kind_enum, SgScopeStatement *scope, SgProcedureHeaderStatement *first_nondefining_declaration)
 Build a Fortran subroutine or procedure. More...
 
ROSE_DLL_API SgExprStatementbuildFunctionCallStmt (const SgName &name, SgType *return_type, SgExprListExp *parameters=NULL, SgScopeStatement *scope=NULL)
 Build a regular function call statement. More...
 
ROSE_DLL_API SgExprStatementbuildFunctionCallStmt (SgExpression *function, SgExprListExp *parameters=NULL)
 Build a function call statement using function expression and argument list only, like (*funcPtr)(args);. More...
 
ROSE_DLL_API SgLabelStatementbuildLabelStatement (const SgName &name, SgStatement *stmt=NULL, SgScopeStatement *scope=NULL)
 Build a label statement, name is the label's name. Handling label symbol and scope internally. More...
 
SgLabelStatementbuildLabelStatement_nfi (const SgName &name, SgStatement *stmt, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgGotoStatementbuildGotoStatement (SgLabelStatement *label=NULL)
 Build a goto statement. More...
 
SgGotoStatementbuildGotoStatement_nfi (SgLabelStatement *label)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgGotoStatementbuildGotoStatement (SgLabelSymbol *symbol)
 Build a goto statement from a label symbol, supporting both C/C++ and Fortran cases. More...
 
ROSE_DLL_API SgCaseOptionStmtbuildCaseOptionStmt (SgExpression *key=NULL, SgStatement *body=NULL)
 Build a case option statement. More...
 
SgCaseOptionStmtbuildCaseOptionStmt_nfi (SgExpression *key, SgStatement *body)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgDefaultOptionStmtbuildDefaultOptionStmt (SgStatement *body=NULL)
 Build a default option statement. More...
 
SgDefaultOptionStmtbuildDefaultOptionStmt_nfi (SgStatement *body)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgExprStatementbuildExprStatement (SgExpression *exp=NULL)
 Build a SgExprStatement, set File_Info automatically. More...
 
SgExprStatementbuildExprStatement_nfi (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgSwitchStatementbuildSwitchStatement (SgStatement *item_selector=NULL, SgStatement *body=NULL)
 Build a switch statement. More...
 
SgSwitchStatementbuildSwitchStatement (SgExpression *item_selector, SgStatement *body=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
SgSwitchStatementbuildSwitchStatement_nfi (SgStatement *item_selector, SgStatement *body)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgIfStmtbuildIfStmt (SgStatement *conditional, SgStatement *true_body, SgStatement *false_body)
 Build if statement. More...
 
SgIfStmtbuildIfStmt (SgExpression *conditional, SgStatement *true_body, SgStatement *false_body)
 Build a variable declaration, handle symbol table transparently. More...
 
SgIfStmtbuildIfStmt_nfi (SgStatement *conditional, SgStatement *true_body, SgStatement *false_body)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgForInitStatementbuildForInitStatement ()
 Build a for init statement. More...
 
ROSE_DLL_API SgForInitStatementbuildForInitStatement (const SgStatementPtrList &statements)
 Build a variable declaration, handle symbol table transparently. More...
 
SgForInitStatementbuildForInitStatement_nfi (SgStatementPtrList &statements)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgForInitStatementbuildForInitStatement (SgStatement *statement)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgForStatementbuildForStatement (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a for statement, assume none of the arguments is NULL. More...
 
SgForStatementbuildForStatement_nfi (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
SgForStatementbuildForStatement_nfi (SgForInitStatement *init_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
void buildForStatement_nfi (SgForStatement *result, SgForInitStatement *init_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
void buildDoWhileStatement_nfi (SgDoWhileStmt *result, SgStatement *body, SgStatement *condition)
 Build a variable declaration, handle symbol table transparently. More...
 
SgUpcForAllStatementbuildUpcForAllStatement_nfi (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgExpression *affinity, SgStatement *loop_body)
 Build a UPC forall statement. More...
 
SgUpcForAllStatementbuildUpcForAllStatement_nfi (SgForInitStatement *init_stmt, SgStatement *test, SgExpression *increment, SgExpression *affinity, SgStatement *loop_body)
 Build a variable declaration, handle symbol table transparently. More...
 
SgUpcNotifyStatementbuildUpcNotifyStatement_nfi (SgExpression *exp)
 Build a UPC notify statement. More...
 
SgUpcWaitStatementbuildUpcWaitStatement_nfi (SgExpression *exp)
 Build a UPC wait statement. More...
 
SgUpcBarrierStatementbuildUpcBarrierStatement_nfi (SgExpression *exp)
 Build a UPC barrier statement. More...
 
SgUpcFenceStatementbuildUpcFenceStatement_nfi ()
 Build a UPC fence statement. More...
 
ROSE_DLL_API SgWhileStmtbuildWhileStmt (SgStatement *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build while statement. More...
 
SgWhileStmtbuildWhileStmt (SgExpression *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
SgWhileStmtbuildWhileStmt_nfi (SgStatement *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgWithStatementbuildWithStatement (SgExpression *expr, SgStatement *body)
 Build a with statement. More...
 
SgWithStatementbuildWithStatement_nfi (SgExpression *expr, SgStatement *body)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgDoWhileStmtbuildDoWhileStmt (SgStatement *body, SgStatement *condition)
 Build do-while statement. More...
 
SgDoWhileStmtbuildDoWhileStmt (SgStatement *body, SgExpression *condition)
 Build a variable declaration, handle symbol table transparently. More...
 
SgDoWhileStmtbuildDoWhileStmt_nfi (SgStatement *body, SgStatement *condition)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgPragmaDeclarationbuildPragmaDeclaration (const std::string &name, SgScopeStatement *scope=NULL)
 Build pragma declaration, handle SgPragma and defining/nondefining pointers internally. More...
 
SgPragmaDeclarationbuildPragmaDeclaration_nfi (const std::string &name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgPragmabuildPragma (const std::string &name)
 Build SgPragma. More...
 
ROSE_DLL_API SgBasicBlockbuildBasicBlock (SgStatement *stmt1=NULL, SgStatement *stmt2=NULL, SgStatement *stmt3=NULL, SgStatement *stmt4=NULL, SgStatement *stmt5=NULL, SgStatement *stmt6=NULL, SgStatement *stmt7=NULL, SgStatement *stmt8=NULL, SgStatement *stmt9=NULL, SgStatement *stmt10=NULL)
 Build a SgBasicBlock, setting file info internally. More...
 
ROSE_DLL_API SgBasicBlockbuildBasicBlock_nfi ()
 Build a variable declaration, handle symbol table transparently. More...
 
SgBasicBlockbuildBasicBlock_nfi (const std::vector< SgStatement * > &)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgExprStatementbuildAssignStatement (SgExpression *lhs, SgExpression *rhs)
 Build an assignment statement from lefthand operand and right hand operand. More...
 
ROSE_DLL_API SgExprStatementbuildAssignStatement_ast_translate (SgExpression *lhs, SgExpression *rhs)
 This version does not recursively reset the file info as a transformation. More...
 
ROSE_DLL_API SgBreakStmtbuildBreakStmt ()
 Build a break statement. More...
 
SgBreakStmtbuildBreakStmt_nfi ()
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgContinueStmtbuildContinueStmt ()
 Build a continue statement. More...
 
SgContinueStmtbuildContinueStmt_nfi ()
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgPassStatementbuildPassStatement ()
 Build a pass statement. More...
 
SgPassStatementbuildPassStatement_nfi ()
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgAssertStmtbuildAssertStmt (SgExpression *test)
 Build a Assert statement. More...
 
ROSE_DLL_API SgAssertStmtbuildAssertStmt (SgExpression *test, SgExpression *exceptionArgument)
 Build a variable declaration, handle symbol table transparently. More...
 
SgAssertStmtbuildAssertStmt_nfi (SgExpression *test)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgYieldExpressionbuildYieldExpression (SgExpression *value)
 Build a yield statement. More...
 
SgYieldExpressionbuildYieldExpression_nfi (SgExpression *value)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgKeyDatumPairbuildKeyDatumPair (SgExpression *key, SgExpression *datum)
 Build a key-datum pair. More...
 
SgKeyDatumPairbuildKeyDatumPair_nfi (SgExpression *key, SgExpression *datum)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgDictionaryExpbuildDictionaryExp (std::vector< SgKeyDatumPair * > pairs)
 Build a list of key-datum pairs. More...
 
SgDictionaryExpbuildDictionaryExp_nfi (std::vector< SgKeyDatumPair * > pairs)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgActualArgumentExpression
buildActualArgumentExpression (SgName arg_name, SgExpression *arg)
 Build an Actual Argument Expression. More...
 
SgActualArgumentExpressionbuildActualArgumentExpression_nfi (SgName arg_name, SgExpression *arg)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgDeleteExpbuildDeleteExp (SgExpression *target, bool is_array=false, bool need_global_specifier=false, SgFunctionDeclaration *deleteOperatorDeclaration=NULL)
 Build a delete statement. More...
 
SgDeleteExpbuildDeleteExp_nfi (SgExpression *target, bool is_array=false, bool need_global_specifier=false, SgFunctionDeclaration *deleteOperatorDeclaration=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgClassDefinitionbuildClassDefinition (SgClassDeclaration *d=NULL, bool buildTemplateInstantiation=false)
 Build a class definition scope statement. More...
 
SgClassDefinitionbuildClassDefinition_nfi (SgClassDeclaration *d=NULL, bool buildTemplateInstantiation=false)
 Build a class definition scope statement. More...
 
SgTemplateClassDefinitionbuildTemplateClassDefinition (SgTemplateClassDeclaration *d=NULL)
 Build a template class definition statement. More...
 
ROSE_DLL_API SgClassDeclarationbuildNondefiningClassDeclaration_nfi (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, bool buildTemplateInstantiation, SgTemplateArgumentPtrList *templateArgumentsList)
 Build a structure first nondefining declaration, without file info. More...
 
ROSE_DLL_API
SgTemplateClassDeclaration
buildNondefiningTemplateClassDeclaration_nfi (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgTemplateParameterPtrList *templateParameterList, SgTemplateArgumentPtrList *templateSpecializationArgumentList)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgClassDeclarationbuildNondefiningClassDeclaration (SgName name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgClassDeclarationbuildDefiningClassDeclaration (SgName name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgClassDeclarationbuildClassDeclaration (SgName name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently. More...
 
SgEnumDeclarationbuildNondefiningEnumDeclaration_nfi (const SgName &name, SgScopeStatement *scope)
 Build an enum first nondefining declaration, without file info. More...
 
ROSE_DLL_API SgClassDeclarationbuildStructDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 Build a structure, It is also a declaration statement in SAGE III. More...
 
ROSE_DLL_API SgClassDeclarationbuildStructDeclaration (const std::string &name, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgClassDeclarationbuildStructDeclaration (const char *name, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgStmtDeclarationStatement
buildStmtDeclarationStatement (SgStatement *stmt)
 Build a StmtDeclarationStmt. More...
 
SgStmtDeclarationStatementbuildStmtDeclarationStatement_nfi (SgStatement *stmt)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgNamespaceDeclarationStatement
buildNamespaceDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
SgNamespaceDeclarationStatementbuildNamespaceDeclaration_nfi (const SgName &name, bool unnamednamespace, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgNamespaceDefinitionStatement
buildNamespaceDefinition (SgNamespaceDeclarationStatement *d=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgNaryComparisonOpbuildNaryComparisonOp (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently. More...
 
SgNaryComparisonOpbuildNaryComparisonOp_nfi (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgNaryBooleanOpbuildNaryBooleanOp (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently. More...
 
SgNaryBooleanOpbuildNaryBooleanOp_nfi (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgStringConversionbuildStringConversion (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently. More...
 
SgStringConversionbuildStringConversion_nfi (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently. More...
 
SgClassDeclarationbuildClassDeclaration_nfi (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgClassDeclaration *nonDefiningDecl, bool buildTemplateInstantiation, SgTemplateArgumentPtrList *templateArgumentsList)
 Build a variable declaration, handle symbol table transparently. More...
 
SgTemplateClassDeclarationbuildTemplateClassDeclaration_nfi (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgTemplateClassDeclaration *nonDefiningDecl, SgTemplateParameterPtrList *templateParameterList, SgTemplateArgumentPtrList *templateSpecializationArgumentList)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgEnumDeclarationbuildEnumDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 Build an enum, It is also a declaration statement in SAGE III. More...
 
SgEnumDeclarationbuildEnumDeclaration_nfi (const SgName &name, SgScopeStatement *scope=NULL)
 Build an enum, It is also a declaration statement in SAGE III. More...
 
ROSE_DLL_API SgReturnStmtbuildReturnStmt (SgExpression *expression=NULL)
 Build a return statement. More...
 
SgReturnStmtbuildReturnStmt_nfi (SgExpression *expression)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgNullStatementbuildNullStatement ()
 Build a NULL statement. More...
 
SgNullStatementbuildNullStatement_nfi ()
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgAttributeSpecificationStatement
buildAttributeSpecificationStatement (SgAttributeSpecificationStatement::attribute_spec_enum kind)
 Build Fortran attribute specification statement. More...
 
ROSE_DLL_API SgFortranIncludeLinebuildFortranIncludeLine (std::string filename)
 Build Fortran include line. More...
 
ROSE_DLL_API SgCommonBlockObjectbuildCommonBlockObject (std::string name="", SgExprListExp *exp_list=NULL)
 Build a Fortran common block, possibly with a name. More...
 
ROSE_DLL_API SgCommonBlockbuildCommonBlock (SgCommonBlockObject *first_block=NULL)
 Build a Fortran Common statement. More...
 
ROSE_DLL_API SgCatchOptionStmtbuildCatchOptionStmt (SgVariableDeclaration *condition=NULL, SgStatement *body=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgTryStmtbuildTryStmt (SgStatement *body, SgCatchOptionStmt *catch0=NULL, SgCatchOptionStmt *catch1=NULL, SgCatchOptionStmt *catch2=NULL, SgCatchOptionStmt *catch3=NULL, SgCatchOptionStmt *catch4=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgTryStmtbuildTryStmt (SgBasicBlock *try_body, SgBasicBlock *finally_body=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgCatchStatementSeqbuildCatchStatementSeq (SgCatchOptionStmt *=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgJavaSynchronizedStatement
buildJavaSynchronizedStatement (SgExpression *, SgBasicBlock *)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgJavaThrowStatementbuildJavaThrowStatement (SgThrowOp *)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API
SgJavaForEachStatement
buildJavaForEachStatement (SgVariableDeclaration *=NULL, SgExpression *=NULL, SgStatement *=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgJavaLabelStatementbuildJavaLabelStatement (const SgName &, SgStatement *=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgExecStatementbuildExecStatement (SgExpression *executable, SgExpression *globals=NULL, SgExpression *locals=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
SgExecStatementbuildExecStatement_nfi (SgExpression *executable, SgExpression *globals=NULL, SgExpression *locals=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgPythonPrintStmtbuildPythonPrintStmt (SgExpression *dest=NULL, SgExprListExp *values=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
SgPythonPrintStmtbuildPythonPrintStmt_nfi (SgExpression *dest=NULL, SgExprListExp *values=NULL)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgPythonGlobalStmtbuildPythonGlobalStmt (SgInitializedNamePtrList &names)
 Build a variable declaration, handle symbol table transparently. More...
 
SgPythonGlobalStmtbuildPythonGlobalStmt_nfi (SgInitializedNamePtrList &names)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgAsmStmtbuildAsmStatement (std::string s)
 Build a NULL statement. More...
 
SgAsmStmtbuildAsmStatement_nfi (std::string s)
 Build a variable declaration, handle symbol table transparently. More...
 
ROSE_DLL_API SgAsmStmtbuildMultibyteNopStatement (int n)
 Build a variable declaration, handle symbol table transparently. More...
 
SgBaseClassbuildBaseClass (SgClassDeclaration *classDeclaration, SgClassDefinition *classDefinition, bool isVirtual, bool isDirect)
 Build a variable declaration, handle symbol table transparently. More...
 
Builders for others

AST high level builders for others

ROSE_DLL_API SgFilebuildFile (const std::string &inputFileName, const std::string &outputFileName, SgProject *project=NULL)
 Build a SgFile node and attach it to SgProject. More...
 
SgSourceFilebuildSourceFile (const std::string &outputFileName, SgProject *project=NULL)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API PreprocessingInfobuildComment (SgLocatedNode *target, const std::string &content, PreprocessingInfo::RelativePositionType position=PreprocessingInfo::before, PreprocessingInfo::DirectiveType dtype=PreprocessingInfo::CpreprocessorUnknownDeclaration)
 Build and attach a comment, comment style is inferred from the language type of the target node if not provided. It is indeed a wrapper of SageInterface::attachComment(). More...
 
ROSE_DLL_API PreprocessingInfobuildCpreprocessorDefineDeclaration (SgLocatedNode *target, const std::string &content, PreprocessingInfo::RelativePositionType position=PreprocessingInfo::before)
 Build and attach #define XX directives, pass "#define xxx xxx" as content. More...
 
ROSE_DLL_API
AbstractHandle::abstract_handle * 
buildAbstractHandle (SgNode *n)
 Build an abstract handle from a SgNode. More...
 
ROSE_DLL_API void fixupCopyOfAstFromSeperateFileInNewTargetAst (SgStatement *insertionPoint, bool insertionPointIsScope, SgStatement *toInsert, SgStatement *original_before_copy)
 Fixup any AST moved from one file two another (references to symbols, types, etc.). More...
 
ROSE_DLL_API void fixupCopyOfNodeFromSeperateFileInNewTargetAst (SgStatement *insertionPoint, bool insertionPointIsScope, SgNode *node_copy, SgNode *node_original)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgTypegetTargetFileTypeSupport (SgType *snippet_type, SgScopeStatement *targetScope)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgTypegetTargetFileType (SgType *snippet_type, SgScopeStatement *targetScope)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgSymbolfindAssociatedSymbolInTargetAST (SgDeclarationStatement *snippet_declaration, SgScopeStatement *targetScope)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API void errorCheckingTargetAST (SgNode *node_copy, SgNode *node_original, SgFile *targetFile, bool failOnWarning)
 Error checking the inserted snippet AST. More...
 
template<class T >
ROSE_DLL_API void resetDeclaration (T *classDeclaration_copy, T *classDeclaration_original, SgScopeStatement *targetScope)
 Function to reset scopes in SgDeclarationStatement IR nodes. More...
 
ROSE_DLL_API SgVarRefExpbuildJavaArrayLengthVarRefExp ()
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgScopeStatementbuildScopeStatement (SgClassDefinition *=NULL)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaTypeExpressionbuildJavaTypeExpression (SgType *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API
SgJavaMarkerAnnotation
buildJavaMarkerAnnotation (SgType *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API
SgJavaMemberValuePair
buildJavaMemberValuePair (const SgName &, SgExpression *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API
SgJavaSingleMemberAnnotation
buildJavaSingleMemberAnnotation (SgType *, SgExpression *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API
SgJavaNormalAnnotation
buildJavaNormalAnnotation (SgType *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API
SgJavaNormalAnnotation
buildJavaNormalAnnotation (SgType *, std::list< SgJavaMemberValuePair * > &)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgInitializedNamebuildJavaFormalParameter (SgType *, const SgName &, bool is_var_args=false, bool is_final=false)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API
SgJavaPackageStatement
buildJavaPackageStatement (std::string)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API
SgJavaImportStatement
buildJavaImportStatement (std::string, bool)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgClassDeclarationbuildJavaDefiningClassDeclaration (SgScopeStatement *, std::string, SgClassDeclaration::class_types kind=SgClassDeclaration::e_class)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgSourceFilebuildJavaSourceFile (SgProject *, std::string, SgClassDefinition *, std::string)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgArrayTypegetUniqueJavaArrayType (SgType *, int)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API
SgJavaParameterizedType
getUniqueJavaParameterizedType (SgNamedType *, SgTemplateParameterPtrList *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaQualifiedTypegetUniqueJavaQualifiedType (SgClassDeclaration *, SgNamedType *, SgNamedType *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaWildcardTypegetUniqueJavaWildcardUnbound ()
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaWildcardTypegetUniqueJavaWildcardExtends (SgType *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaWildcardTypegetUniqueJavaWildcardSuper (SgType *)
 Build a SgFile node and attach it to SgProject. More...
 

Variables

SourcePositionClassification SourcePositionClassificationMode
 C++ SageBuilder namespace specific state for storage of the source code position state (used to control how the source code positon is defined for IR nodes built within the SageBuilder interface). More...
 

Scope stack interfaces

a global data structure to store current scope and parent scopes.

Scope stack is provided as an alternative to manually passing scope parameters to builder functions. It is not required to be used. Please use the recommendeded operation functions for maintaining the scope stack. Don't use raw container access functions to ScopeStack. e.g. avoid ScopeStack.push_back(), using pushScopeStack() instead.

Todo:
consider complex cases:
  • how many scope stacks to keep? one. examine only one transparently
  • regular: push a child scope of current scope, add symbols etc.
  • irregular: push an arbitrary scope temporarily, add some symbol, then pop
  • even push a chain of scopes
  • restore scopes
std::list< SgScopeStatement * > ScopeStack
 intended to be a private member, don't access it directly. could be changed any time More...
 
bool symbol_table_case_insensitive_semantics
 Support for construction of case sensitive/insensitive symbol table handling in scopes. More...
 
ROSE_DLL_API void pushScopeStack (SgScopeStatement *stmt)
 Public interfaces of the scope stack, should be stable. More...
 
ROSE_DLL_API void pushScopeStack (SgNode *node)
 intended to be a private member, don't access it directly. could be changed any time More...
 
ROSE_DLL_API void popScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time More...
 
ROSE_DLL_API SgScopeStatementtopScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time More...
 
ROSE_DLL_API bool emptyScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time More...
 
ROSE_DLL_API void clearScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time More...
 
SgScopeStatementgetGlobalScopeFromScopeStack ()
 Support to retrive the SgGlobal from the internal scope stack (error if not present in a non-empty list, return null for empty list). More...
 
bool inSwitchScope ()
 intended to be a private member, don't access it directly. could be changed any time More...