ROSE  0.9.9.139
Enumerations | Functions | Variables
SageBuilder Namespace Reference

Description

Functions that build an AST.

Enumerations

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

Functions

void initDiagnostics ()
 
ROSE_DLL_API SourcePositionClassification getSourcePositionClassificationMode ()
 Get the current source position classification (defines how IR nodes built by the SageBuilder interface will be classified).
 
ROSE_DLL_API std::string display (SourcePositionClassification &scp)
 display function for debugging
 
ROSE_DLL_API void setSourcePositionClassificationMode (SourcePositionClassification X)
 Set the current source position classification (defines how IR nodes built by the SageBuilder interface will be classified).
 
ROSE_DLL_API SgName appendTemplateArgumentsToName (const SgName &name, const SgTemplateArgumentPtrList &templateArgumentsList)
 DQ (7/27/2012): changed semantics from removing the template arguments in names to adding the template arguments to names.
 
template<class T >
T * buildUnaryExpression (SgExpression *operand)
 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 no file info. 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 * buildBinaryExpression (SgExpression *lhs, SgExpression *rhs)
 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 binary expression of type T, taking care of parent pointers, but without file-info. 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...
 
Builders for SgType

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

ROSE_DLL_API SgTypeBoolbuildBoolType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeNullptrbuildNullptrType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeCharbuildCharType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeDoublebuildDoubleType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeFloatbuildFloatType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeIntbuildIntType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeLongbuildLongType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeLongDoublebuildLongDoubleType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeLongLongbuildLongLongType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeShortbuildShortType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeStringbuildStringType ()
 DQ (8/21/2010): We want to move to the new buildStringType( SgExpression*,size_t) function over the older buildStringType() function.
 
ROSE_DLL_API SgTypeStringbuildStringType (SgExpression *stringLengthExpression)
 Built in simple types.
 
ROSE_DLL_API SgTypeVoidbuildVoidType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeWcharbuildWcharType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeSignedCharbuildSignedCharType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeSignedIntbuildSignedIntType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeSignedLongbuildSignedLongType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeSignedLongLongbuildSignedLongLongType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeSignedShortbuildSignedShortType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeSigned128bitIntegerbuildSigned128bitIntegerType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeUnsigned128bitIntegerbuildUnsigned128bitIntegerType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeUnsignedCharbuildUnsignedCharType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeUnsignedIntbuildUnsignedIntType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeUnsignedLongbuildUnsignedLongType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeUnsignedLongLongbuildUnsignedLongLongType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeUnsignedShortbuildUnsignedShortType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeUnknownbuildUnknownType ()
 Built in simple types.
 
ROSE_DLL_API SgPointerTypebuildPointerType (SgType *base_type=NULL)
 Build a pointer type.
 
ROSE_DLL_API SgReferenceTypebuildReferenceType (SgType *base_type=NULL)
 Build a reference type.
 
ROSE_DLL_API SgRvalueReferenceTypebuildRvalueReferenceType (SgType *base_type)
 Build a rvalue reference type.
 
ROSE_DLL_API SgDeclTypebuildDeclType (SgExpression *base_expression, SgType *base_type)
 Build a decltype reference type.
 
ROSE_DLL_API SgTypeOfTypebuildTypeOfType (SgExpression *base_expression, SgType *base_type)
 Build a GNU typeof operator.
 
ROSE_DLL_API SgModifierTypebuildModifierType (SgType *base_type=NULL)
 Build a modifier type.
 
ROSE_DLL_API SgModifierTypebuildConstType (SgType *base_type=NULL)
 Build a const type.
 
ROSE_DLL_API SgModifierTypebuildVolatileType (SgType *base_type=NULL)
 Build a volatile type.
 
ROSE_DLL_API SgModifierTypebuildRestrictType (SgType *base_type)
 Build a restrict type.
 
ROSE_DLL_API SgArrayTypebuildArrayType (SgType *base_type=NULL, SgExpression *index=NULL)
 Build ArrayType.
 
ROSE_DLL_API SgModifierTypebuildFortranKindType (SgType *base_type, SgExpression *kindExpression)
 Build a type based on the Fortran kind mechanism.
 
ROSE_DLL_API SgFunctionTypebuildFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList=NULL)
 Build function type from return type and parameter type list.
 
ROSE_DLL_API SgFunctionTypebuildFunctionType (SgType *return_type, SgFunctionParameterList *argList=NULL)
 Build function type from return type and parameter list.
 
ROSE_DLL_API SgMemberFunctionTypebuildMemberFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList, SgClassDefinition *struct_name, unsigned int mfunc_specifier)
 DQ (1/16/2009): Added to support member function in C++ (for new interface)
 
ROSE_DLL_API SgMemberFunctionTypebuildMemberFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList, SgClassType *classType, unsigned int mfunc_specifier)
 DQ (12/2/2011): Added for symetry with other functios to generate SgFunctionType. More...
 
ROSE_DLL_API SgClassTypebuildClassTemplateType (SgTemplateClassDeclaration *template_decl, Rose_STL_Container< SgNode * > &template_args)
 Some support for building class template instantiation declarations. 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.
 
ROSE_DLL_API SgModifierTypebuildUpcRelaxedType (SgType *base_type=NULL)
 Build a UPC relaxed type.
 
ROSE_DLL_API SgModifierTypebuildUpcSharedType (SgType *base_type=NULL, long layout=-1)
 Build a UPC shared type.
 
ROSE_DLL_API SgModifierTypebuildUpcBlockIndefiniteType (SgType *base_type=NULL)
 Build a UPC shared[] type.
 
ROSE_DLL_API SgModifierTypebuildUpcBlockStarType (SgType *base_type=NULL)
 Build a UPC shared[*] type.
 
ROSE_DLL_API SgModifierTypebuildUpcBlockNumberType (SgType *base_type, long block_factor)
 Build a UPC shared[n] type.
 
ROSE_DLL_API SgTypeComplexbuildComplexType (SgType *base_type=NULL)
 Build a complex type.
 
ROSE_DLL_API SgTypeImaginarybuildImaginaryType (SgType *base_type=NULL)
 Build an imaginary type.
 
ROSE_DLL_API SgConstVolatileModifierbuildConstVolatileModifier (SgConstVolatileModifier::cv_modifier_enum mtype=SgConstVolatileModifier::e_unknown)
 Build a const/volatile type qualifier.
 
ROSE_DLL_API SgTypeMatrixbuildMatrixType ()
 Build a Matlab Matrix Type.
 
ROSE_DLL_API SgTypeTuplebuildTupleType (SgType *t1=NULL, SgType *t2=NULL, SgType *t3=NULL, SgType *t4=NULL, SgType *t5=NULL, SgType *t6=NULL, SgType *t7=NULL, SgType *t8=NULL, SgType *t9=NULL, SgType *t10=NULL)
 Build a tuple of types. Useful for a function returning multiple variables of different types.
 
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.

  • Value string is not included in the argument list for simplicty. It can be set afterwards using set_valueString()
  • Expression builders are organized roughtly in the order of class hierarchy list of ROSE Web Reference
  • default values for arguments are provided to support top-down construction. Should use SageInterface::setOperand(),setLhsOperand(), setRhsOperand() etc to set operands and handle side effects.
ROSE_DLL_API SgVariantExpressionbuildVariantExpression ()
 
ROSE_DLL_API SgNullExpressionbuildNullExpression ()
 Build a null expression, set file info as the default one.
 
ROSE_DLL_API SgNullExpressionbuildNullExpression_nfi ()
 No file info version of buildNullExpression(). File info is to be set later on.
 
ROSE_DLL_API SgBoolValExpbuildBoolValExp (int value=0)
 Build a bool value expression, the name convention of SgBoolValExp is little different from others for some unknown reason.
 
ROSE_DLL_API SgBoolValExpbuildBoolValExp (bool value=0)
 
ROSE_DLL_API SgBoolValExpbuildBoolValExp_nfi (int value)
 
ROSE_DLL_API SgCharValbuildCharVal (char value=0)
 
ROSE_DLL_API SgCharValbuildCharVal_nfi (char value, const std::string &str)
 
ROSE_DLL_API SgNullptrValExpbuildNullptrValExp ()
 DQ (7/31/2014): Adding support for C++11 nullptr const value expressions.
 
ROSE_DLL_API SgNullptrValExpbuildNullptrValExp_nfi ()
 
ROSE_DLL_API SgWcharValbuildWcharVal (wchar_t value=0)
 
ROSE_DLL_API SgWcharValbuildWcharVal_nfi (wchar_t value, const std::string &str)
 
ROSE_DLL_API SgComplexValbuildComplexVal (SgValueExp *real_value, SgValueExp *imaginary_value)
 
ROSE_DLL_API SgComplexValbuildComplexVal_nfi (SgValueExp *real_value, SgValueExp *imaginary_value, const std::string &str)
 
ROSE_DLL_API SgComplexValbuildImaginaryVal (long double imaginary_value)
 
ROSE_DLL_API SgComplexValbuildImaginaryVal (SgValueExp *imaginary_value)
 
ROSE_DLL_API SgComplexValbuildImaginaryVal_nfi (SgValueExp *imaginary_value, const std::string &str)
 
ROSE_DLL_API SgDoubleValbuildDoubleVal (double value=0.0)
 Build a double value expression.
 
ROSE_DLL_API SgDoubleValbuildDoubleVal_nfi (double value, const std::string &str)
 
ROSE_DLL_API SgFloatValbuildFloatVal (float value=0.0)
 
ROSE_DLL_API SgFloatValbuildFloatVal_nfi (float value, const std::string &str)
 
ROSE_DLL_API SgIntValbuildIntVal (int value=0)
 Build an integer value expression.
 
ROSE_DLL_API SgIntValbuildIntValHex (int value=0)
 
ROSE_DLL_API SgIntValbuildIntVal_nfi (int value, const std::string &str)
 
ROSE_DLL_API SgLongIntValbuildLongIntVal (long value=0)
 Build a long integer value expression.
 
ROSE_DLL_API SgLongIntValbuildLongIntValHex (long value=0)
 
ROSE_DLL_API SgLongIntValbuildLongIntVal_nfi (long value, const std::string &str)
 
ROSE_DLL_API SgLongLongIntValbuildLongLongIntVal (long long value=0)
 Build a long long integer value expression.
 
ROSE_DLL_API SgLongLongIntValbuildLongLongIntValHex (long long value=0)
 
ROSE_DLL_API SgLongLongIntValbuildLongLongIntVal_nfi (long long value, const std::string &str)
 
ROSE_DLL_API SgEnumValbuildEnumVal_nfi (int value, SgEnumDeclaration *decl, SgName name)
 
ROSE_DLL_API SgEnumValbuildEnumVal (int value, SgEnumDeclaration *decl, SgName name)
 
ROSE_DLL_API SgEnumValbuildEnumVal (SgEnumFieldSymbol *sym)
 
ROSE_DLL_API SgLongDoubleValbuildLongDoubleVal (long double value=0.0)
 
ROSE_DLL_API SgLongDoubleValbuildLongDoubleVal_nfi (long double value, const std::string &str)
 
ROSE_DLL_API SgShortValbuildShortVal (short value=0)
 
ROSE_DLL_API SgShortValbuildShortValHex (short value=0)
 
ROSE_DLL_API SgShortValbuildShortVal_nfi (short value, const std::string &str)
 
ROSE_DLL_API SgStringValbuildStringVal (std::string value="")
 
ROSE_DLL_API SgStringValbuildStringVal_nfi (std::string value)
 
ROSE_DLL_API SgUnsignedCharValbuildUnsignedCharVal (unsigned char v=0)
 Build an unsigned char.
 
ROSE_DLL_API SgUnsignedCharValbuildUnsignedCharValHex (unsigned char v=0)
 
ROSE_DLL_API SgUnsignedCharValbuildUnsignedCharVal_nfi (unsigned char v, const std::string &str)
 
ROSE_DLL_API SgUnsignedShortValbuildUnsignedShortVal (unsigned short v=0)
 Build an unsigned short integer.
 
ROSE_DLL_API SgUnsignedShortValbuildUnsignedShortValHex (unsigned short v=0)
 
ROSE_DLL_API SgUnsignedShortValbuildUnsignedShortVal_nfi (unsigned short v, const std::string &str)
 
ROSE_DLL_API SgUnsignedIntValbuildUnsignedIntVal (unsigned int v=0)
 Build an unsigned integer.
 
ROSE_DLL_API SgUnsignedIntValbuildUnsignedIntValHex (unsigned int v=0)
 
ROSE_DLL_API SgUnsignedIntValbuildUnsignedIntVal_nfi (unsigned int v, const std::string &str)
 
ROSE_DLL_API SgUnsignedLongValbuildUnsignedLongVal (unsigned long v=0)
 Build a unsigned long integer.
 
ROSE_DLL_API SgUnsignedLongValbuildUnsignedLongValHex (unsigned long v=0)
 
ROSE_DLL_API SgUnsignedLongValbuildUnsignedLongVal_nfi (unsigned long v, const std::string &str)
 
ROSE_DLL_API SgUnsignedLongLongIntValbuildUnsignedLongLongIntVal (unsigned long long v=0)
 Build an unsigned long long integer.
 
ROSE_DLL_API SgUnsignedLongLongIntValbuildUnsignedLongLongIntValHex (unsigned long long v=0)
 
ROSE_DLL_API SgUnsignedLongLongIntValbuildUnsignedLongLongIntVal_nfi (unsigned long long v, const std::string &str)
 
ROSE_DLL_API SgTemplateParameterValbuildTemplateParameterVal (int template_parameter_position=-1)
 Build an template parameter value expression.
 
ROSE_DLL_API SgTemplateParameterValbuildTemplateParameterVal_nfi (int template_parameter_position, const std::string &str)
 
ROSE_DLL_API SgTemplateTypebuildTemplateType (SgName name="", int template_parameter_position=-1)
 Build a template type, used for template parameter and later argument.
 
ROSE_DLL_API SgTemplateParameterbuildTemplateParameter (SgTemplateParameter::template_parameter_enum parameterType, SgType *)
 Build a template parameter, passing enum kind and SgTemplateType template_parameter_enum { parameter_undefined = 0, type_parameter = 1, nontype_parameter = 2, template_parameter = 3}.
 
ROSE_DLL_API SgUpcThreadsbuildUpcThreads ()
 Build UPC THREADS (integer expression)
 
ROSE_DLL_API SgUpcThreadsbuildUpcThreads_nfi ()
 
ROSE_DLL_API SgUpcMythreadbuildUpcMythread ()
 Build UPC MYTHREAD (integer expression)
 
ROSE_DLL_API SgUpcMythreadbuildUpcMythread_nfi ()
 
ROSE_DLL_API SgThisExpbuildThisExp (SgClassSymbol *sym)
 Build this pointer.
 
ROSE_DLL_API SgThisExpbuildThisExp_nfi (SgClassSymbol *sym)
 
ROSE_DLL_API SgSuperExpbuildSuperExp (SgClassSymbol *sym)
 Build super pointer.
 
ROSE_DLL_API SgSuperExpbuildSuperExp_nfi (SgClassSymbol *sym)
 
ROSE_DLL_API SgClassExpbuildClassExp (SgClassSymbol *sym)
 Build class pointer.
 
ROSE_DLL_API SgClassExpbuildClassExp_nfi (SgClassSymbol *sym)
 
ROSE_DLL_API SgLambdaRefExpbuildLambdaRefExp (SgType *return_type, SgFunctionParameterList *params, SgScopeStatement *scope)
 Build lambda expression.
 
ROSE_DLL_API SgAddressOfOpbuildAddressOfOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgAddressOfOpbuildAddressOfOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgBitComplementOpbuildBitComplementOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgBitComplementOpbuildBitComplementOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgMinusOpbuildMinusOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgMinusOpbuildMinusOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgNotOpbuildNotOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgNotOpbuildNotOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgPointerDerefExpbuildPointerDerefExp (SgExpression *op=NULL)
 
ROSE_DLL_API SgPointerDerefExpbuildPointerDerefExp_nfi (SgExpression *op)
 
ROSE_DLL_API SgUnaryAddOpbuildUnaryAddOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgUnaryAddOpbuildUnaryAddOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgMinusMinusOpbuildMinusMinusOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgMinusMinusOpbuildMinusMinusOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgPlusPlusOpbuildPlusPlusOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgPlusPlusOpbuildPlusPlusOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgRealPartOpbuildRealPartOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgRealPartOpbuildRealPartOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgImagPartOpbuildImagPartOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgImagPartOpbuildImagPartOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgConjugateOpbuildConjugateOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgConjugateOpbuildConjugateOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgVarArgStartOneOperandOpbuildVarArgStartOneOperandOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgVarArgStartOneOperandOpbuildVarArgStartOneOperandOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgVarArgEndOpbuildVarArgEndOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgVarArgEndOpbuildVarArgEndOp_nfi (SgExpression *op)
 
ROSE_DLL_API SgMatrixTransposeOpbuildMatrixTransposeOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgMatrixTransposeOpbuildMatrixTransposeOp_nfi (SgExpression *op)
 
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.
 
ROSE_DLL_API SgCastExpbuildCastExp_nfi (SgExpression *operand_i, SgType *expression_type, SgCastExp::cast_type_enum cast_type)
 
ROSE_DLL_API SgVarArgOpbuildVarArgOp_nfi (SgExpression *operand_i, SgType *expression_type)
 Build vararg op expression.
 
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.
 
ROSE_DLL_API SgMinusOpbuildMinusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 
ROSE_DLL_API SgMinusMinusOpbuildMinusMinusOp (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 
ROSE_DLL_API SgMinusMinusOpbuildMinusMinusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 
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.
 
ROSE_DLL_API SgPlusPlusOpbuildPlusPlusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 
ROSE_DLL_API SgThrowOpbuildThrowOp (SgExpression *, SgThrowOp::e_throw_kind)
 Build a ThrowOp expression.
 
ROSE_DLL_API SgNewExpbuildNewExp (SgType *type, SgExprListExp *exprListExp, SgConstructorInitializer *constInit, SgExpression *expr, short int val, SgFunctionDeclaration *funcDecl)
 
ROSE_DLL_API SgDeleteExpbuildDeleteExp (SgExpression *variable, short is_array, short need_global_specifier, SgFunctionDeclaration *deleteOperatorDeclaration)
 
ROSE_DLL_API SgTypeIdOpbuildTypeIdOp (SgExpression *operand_expr, SgType *operand_type)
 DQ (1/25/2013): Added support for typeId operators.
 
ROSE_DLL_API SgAddOpbuildAddOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgAddOpbuildAddOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgAndAssignOpbuildAndAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgAndAssignOpbuildAndAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgAndOpbuildAndOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgAndOpbuildAndOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgArrowExpbuildArrowExp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgArrowExpbuildArrowExp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgArrowStarOpbuildArrowStarOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgArrowStarOpbuildArrowStarOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgAssignOpbuildAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgAssignOpbuildAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgBitAndOpbuildBitAndOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgBitAndOpbuildBitAndOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgBitOrOpbuildBitOrOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgBitOrOpbuildBitOrOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgBitXorOpbuildBitXorOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgBitXorOpbuildBitXorOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgCommaOpExpbuildCommaOpExp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgCommaOpExpbuildCommaOpExp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgConcatenationOpbuildConcatenationOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgConcatenationOpbuildConcatenationOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgDivAssignOpbuildDivAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgDivAssignOpbuildDivAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgDivideOpbuildDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgDivideOpbuildDivideOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgDotExpbuildDotExp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgDotExpbuildDotExp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgDotStarOpbuildDotStarOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgDotStarOpbuildDotStarOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgEqualityOpbuildEqualityOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgEqualityOpbuildEqualityOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgExponentiationOpbuildExponentiationOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgExponentiationOpbuildExponentiationOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgExponentiationAssignOpbuildExponentiationAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgExponentiationAssignOpbuildExponentiationAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgGreaterOrEqualOpbuildGreaterOrEqualOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgGreaterOrEqualOpbuildGreaterOrEqualOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgGreaterThanOpbuildGreaterThanOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgGreaterThanOpbuildGreaterThanOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgIntegerDivideOpbuildIntegerDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgIntegerDivideOpbuildIntegerDivideOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgIntegerDivideAssignOpbuildIntegerDivideAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgIntegerDivideAssignOpbuildIntegerDivideAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgIorAssignOpbuildIorAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgIorAssignOpbuildIorAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgIsOpbuildIsOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgIsOpbuildIsOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgIsNotOpbuildIsNotOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgIsNotOpbuildIsNotOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgLessOrEqualOpbuildLessOrEqualOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgLessOrEqualOpbuildLessOrEqualOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgLessThanOpbuildLessThanOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgLessThanOpbuildLessThanOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgLshiftAssignOpbuildLshiftAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgLshiftAssignOpbuildLshiftAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgLshiftOpbuildLshiftOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgLshiftOpbuildLshiftOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgMembershipOpbuildMembershipOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgMembershipOpbuildMembershipOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgMinusAssignOpbuildMinusAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgMinusAssignOpbuildMinusAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgModAssignOpbuildModAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgModAssignOpbuildModAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgModOpbuildModOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgModOpbuildModOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgMultAssignOpbuildMultAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgMultAssignOpbuildMultAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgMultiplyOpbuildMultiplyOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgMultiplyOpbuildMultiplyOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgNonMembershipOpbuildNonMembershipOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgNonMembershipOpbuildNonMembershipOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgNotEqualOpbuildNotEqualOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgNotEqualOpbuildNotEqualOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgOrOpbuildOrOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgOrOpbuildOrOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgPlusAssignOpbuildPlusAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgPlusAssignOpbuildPlusAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgPntrArrRefExpbuildPntrArrRefExp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgPntrArrRefExpbuildPntrArrRefExp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgRshiftAssignOpbuildRshiftAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgRshiftAssignOpbuildRshiftAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgJavaUnsignedRshiftAssignOpbuildJavaUnsignedRshiftAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgJavaUnsignedRshiftAssignOpbuildJavaUnsignedRshiftAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgRshiftOpbuildRshiftOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgRshiftOpbuildRshiftOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgJavaUnsignedRshiftOpbuildJavaUnsignedRshiftOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgJavaUnsignedRshiftOpbuildJavaUnsignedRshiftOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgScopeOpbuildScopeOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgScopeOpbuildScopeOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgSubtractOpbuildSubtractOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgSubtractOpbuildSubtractOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgXorAssignOpbuildXorAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgXorAssignOpbuildXorAssignOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgVarArgCopyOpbuildVarArgCopyOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgVarArgCopyOpbuildVarArgCopyOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgVarArgStartOpbuildVarArgStartOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgVarArgStartOpbuildVarArgStartOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgPowerOpbuildPowerOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgPowerOpbuildPowerOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgElementwisePowerOpbuildElementwisePowerOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgElementwisePowerOpbuildElementwisePowerOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgElementwiseMultiplyOpbuildElementwiseMultiplyOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgElementwiseMultiplyOpbuildElementwiseMultiplyOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgElementwiseDivideOpbuildElementwiseDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgElementwiseDivideOpbuildElementwiseDivideOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgLeftDivideOpbuildLeftDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgLeftDivideOpbuildLeftDivideOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgElementwiseLeftDivideOpbuildElementwiseLeftDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgElementwiseLeftDivideOpbuildElementwiseLeftDivideOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgElementwiseAddOpbuildElementwiseAddOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgElementwiseAddOpbuildElementwiseAddOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgElementwiseSubtractOpbuildElementwiseSubtractOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgElementwiseSubtractOpbuildElementwiseSubtractOp_nfi (SgExpression *lhs, SgExpression *rhs)
 
ROSE_DLL_API SgConditionalExpbuildConditionalExp (SgExpression *test=NULL, SgExpression *a=NULL, SgExpression *b=NULL)
 Build a conditional expression ?:
 
SgConditionalExpbuildConditionalExp_nfi (SgExpression *test, SgExpression *a, SgExpression *b, SgType *t)
 
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.
 
ROSE_DLL_API SgExprListExpbuildExprListExp (const std::vector< SgExpression * > &exprs)
 
SgExprListExpbuildExprListExp_nfi ()
 
SgExprListExpbuildExprListExp_nfi (const std::vector< SgExpression * > &exprs)
 
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.
 
ROSE_DLL_API SgTupleExpbuildTupleExp (const std::vector< SgExpression * > &exprs)
 
SgTupleExpbuildTupleExp_nfi ()
 
SgTupleExpbuildTupleExp_nfi (const std::vector< SgExpression * > &exprs)
 
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.
 
ROSE_DLL_API SgListExpbuildListExp (const std::vector< SgExpression * > &exprs)
 
SgListExpbuildListExp_nfi ()
 
SgListExpbuildListExp_nfi (const std::vector< SgExpression * > &exprs)
 
ROSE_DLL_API SgComprehensionbuildComprehension (SgExpression *target, SgExpression *iter, SgExprListExp *ifs)
 
SgComprehensionbuildComprehension_nfi (SgExpression *target, SgExpression *iter, SgExprListExp *ifs)
 
ROSE_DLL_API SgListComprehensionbuildListComprehension (SgExpression *elt, SgExprListExp *generators)
 
SgListComprehensionbuildListComprehension_nfi (SgExpression *elt, SgExprListExp *generators)
 
ROSE_DLL_API SgSetComprehensionbuildSetComprehension (SgExpression *elt, SgExprListExp *generators)
 
SgSetComprehensionbuildSetComprehension_nfi (SgExpression *elt, SgExprListExp *generators)
 
ROSE_DLL_API SgDictionaryComprehensionbuildDictionaryComprehension (SgKeyDatumPair *kd_pair, SgExprListExp *generators)
 
SgDictionaryComprehensionbuildDictionaryComprehension_nfi (SgKeyDatumPair *kd_pair, SgExprListExp *generators)
 
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.
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp (const char *varName, SgScopeStatement *scope=NULL)
 Build a variable reference using a C style char array.
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp (SgVariableSymbol *varSymbol)
 Build a variable reference from an existing symbol.
 
ROSE_DLL_API SgVarRefExpbuildVarRefExp_nfi (SgVariableSymbol *varSymbol)
 
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.
 
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()).
 
SgCompoundLiteralExpbuildCompoundLiteralExp (SgVariableSymbol *varSymbol)
 
ROSE_DLL_API SgLabelRefExpbuildLabelRefExp (SgLabelSymbol *s)
 Build a Fortran numeric label ref exp.
 
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.
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (const char *name, const SgType *func_type, SgScopeStatement *scope=NULL)
 
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.
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (const char *name, SgScopeStatement *scope=NULL)
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (const SgFunctionDeclaration *func_decl)
 Build SgFunctionRefExp based on a function's declaration.
 
ROSE_DLL_API SgFunctionRefExpbuildFunctionRefExp (SgFunctionSymbol *sym)
 Build SgFunctionRefExp based on a function's symbol.
 
SgFunctionRefExpbuildFunctionRefExp_nfi (SgFunctionSymbol *sym)
 
SgTemplateFunctionRefExpbuildTemplateFunctionRefExp_nfi (SgTemplateFunctionSymbol *sym)
 DQ (12/15/2011): Adding template declaration support to the AST.
 
SgTemplateMemberFunctionRefExpbuildTemplateMemberFunctionRefExp_nfi (SgTemplateMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier)
 DQ (12/29/2011): Adding template declaration support to the AST.
 
SgMemberFunctionRefExpbuildMemberFunctionRefExp_nfi (SgMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier)
 
ROSE_DLL_API SgMemberFunctionRefExpbuildMemberFunctionRefExp (SgMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier)
 
SgClassNameRefExpbuildClassNameRefExp_nfi (SgClassSymbol *sym)
 
ROSE_DLL_API SgClassNameRefExpbuildClassNameRefExp (SgClassSymbol *sym)
 
ROSE_DLL_API SgFunctionCallExpbuildFunctionCallExp (SgFunctionSymbol *sym, SgExprListExp *parameters=NULL)
 Build a function call expression.
 
SgFunctionCallExpbuildFunctionCallExp_nfi (SgExpression *f, SgExprListExp *parameters=NULL)
 
ROSE_DLL_API SgFunctionCallExpbuildFunctionCallExp (SgExpression *f, SgExprListExp *parameters=NULL)
 
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.
 
SgTypeTraitBuiltinOperatorbuildTypeTraitBuiltinOperator (SgName functionName, SgNodePtrList parameters)
 
SgCudaKernelCallExpbuildCudaKernelCallExp_nfi (SgExpression *kernel, SgExprListExp *parameters=NULL, SgCudaKernelExecConfig *config=NULL)
 Build a CUDA kernel call expression (kernel<<<config>>>(parameters))
 
SgCudaKernelExecConfigbuildCudaKernelExecConfig_nfi (SgExpression *grid=NULL, SgExpression *blocks=NULL, SgExpression *shared=NULL, SgExpression *stream=NULL)
 Build a CUDA kernel execution configuration (<<<grid, blocks, shared, stream>>>)
 
ROSE_DLL_API SgAssignInitializerbuildAssignInitializer (SgExpression *operand_i=NULL, SgType *expression_type=NULL)
 Build the rhs of a variable declaration which includes an assignment.
 
ROSE_DLL_API SgAssignInitializerbuildAssignInitializer_nfi (SgExpression *operand_i=NULL, SgType *expression_type=NULL)
 
ROSE_DLL_API SgAggregateInitializerbuildAggregateInitializer (SgExprListExp *initializers=NULL, SgType *type=NULL)
 Build an aggregate initializer.
 
ROSE_DLL_API SgAggregateInitializerbuildAggregateInitializer_nfi (SgExprListExp *initializers, SgType *type=NULL)
 
ROSE_DLL_API SgCompoundInitializerbuildCompoundInitializer (SgExprListExp *initializers=NULL, SgType *type=NULL)
 Build a compound initializer, for vector type initialization.
 
ROSE_DLL_API SgCompoundInitializerbuildCompoundInitializer_nfi (SgExprListExp *initializers, SgType *type=NULL)
 
ROSE_DLL_API SgConstructorInitializerbuildConstructorInitializer (SgMemberFunctionDeclaration *declaration, SgExprListExp *args, SgType *expression_type, bool need_name, bool need_qualifier, bool need_parenthesis_after_name, bool associated_class_unknown)
 
ROSE_DLL_API SgConstructorInitializerbuildConstructorInitializer_nfi (SgMemberFunctionDeclaration *declaration, SgExprListExp *args, SgType *expression_type, bool need_name, bool need_qualifier, bool need_parenthesis_after_name, bool associated_class_unknown)
 
ROSE_DLL_API SgBracedInitializerbuildBracedInitializer (SgExprListExp *initializers=NULL, SgType *expression_type=NULL)
 Build an braced initializer.
 
ROSE_DLL_API SgBracedInitializerbuildBracedInitializer_nfi (SgExprListExp *initializers=NULL, SgType *expression_type=NULL)
 
ROSE_DLL_API SgSizeOfOpbuildSizeOfOp (SgExpression *exp=NULL)
 Build sizeof() expression with an expression parameter.
 
ROSE_DLL_API SgSizeOfOpbuildSizeOfOp_nfi (SgExpression *exp)
 
ROSE_DLL_API SgSizeOfOpbuildSizeOfOp (SgType *type=NULL)
 Build sizeof() expression with a type parameter.
 
ROSE_DLL_API SgSizeOfOpbuildSizeOfOp_nfi (SgType *type)
 
ROSE_DLL_API SgAlignOfOpbuildAlignOfOp (SgExpression *exp=NULL)
 Build alignof() expression with an expression parameter.
 
ROSE_DLL_API SgAlignOfOpbuildAlignOfOp_nfi (SgExpression *exp)
 
ROSE_DLL_API SgAlignOfOpbuildAlignOfOp (SgType *type=NULL)
 Build alignof() expression with a type parameter.
 
ROSE_DLL_API SgAlignOfOpbuildAlignOfOp_nfi (SgType *type)
 
ROSE_DLL_API SgNoexceptOpbuildNoexceptOp (SgExpression *exp=NULL)
 Build noecept operator expression with an expression parameter.
 
ROSE_DLL_API SgNoexceptOpbuildNoexceptOp_nfi (SgExpression *exp)
 
ROSE_DLL_API SgJavaInstanceOfOpbuildJavaInstanceOfOp (SgExpression *exp=NULL, SgType *type=NULL)
 This is part of Java specific operator support.
 
ROSE_DLL_API SgTypeExpressionbuildTypeExpression (SgType *type)
 DQ (7/24/2014): Adding support for c11 generic operands.
 
ROSE_DLL_API SgFunctionParameterRefExpbuildFunctionParameterRefExp (int parameter_number, int parameter_level)
 
ROSE_DLL_API SgFunctionParameterRefExpbuildFunctionParameterRefExp_nfi (int parameter_number, int parameter_level)
 
ROSE_DLL_API SgLambdaExpbuildLambdaExp (SgLambdaCaptureList *lambda_capture_list, SgClassDeclaration *lambda_closure_class, SgFunctionDeclaration *lambda_function)
 DQ (9/3/2014): Adding support for C++11 Lambda expressions.
 
ROSE_DLL_API SgLambdaExpbuildLambdaExp_nfi (SgLambdaCaptureList *lambda_capture_list, SgClassDeclaration *lambda_closure_class, SgFunctionDeclaration *lambda_function)
 
ROSE_DLL_API SgLambdaCapturebuildLambdaCapture (SgExpression *capture_variable, SgExpression *source_closure_variable, SgExpression *closure_variable)
 
ROSE_DLL_API SgLambdaCapturebuildLambdaCapture_nfi (SgExpression *capture_variable, SgExpression *source_closure_variable, SgExpression *closure_variable)
 
ROSE_DLL_API SgLambdaCaptureListbuildLambdaCaptureList ()
 
ROSE_DLL_API SgLambdaCaptureListbuildLambdaCaptureList_nfi ()
 
Builders for Matlab nodes
ROSE_DLL_API SgRangeExpbuildRangeExp (SgExpression *start)
 Build a Matlab range expression like start:end or start:stride:end.
 
ROSE_DLL_API SgMatrixExpbuildMatrixExp (SgExprListExp *firstRow)
 Build a Matlab Matrix.
 
ROSE_DLL_API SgMagicColonExpbuildMagicColonExp ()
 Build a Matlab colon expression :
 
ROSE_DLL_API SgMatlabForStatementbuildMatlabForStatement (SgExpression *loop_index, SgExpression *loop_range, SgBasicBlock *loop_body)
 Build a For-loop statement for matlab.
 
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...
 
ROSE_DLL_API 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 SgFunctionParameterTypeListbuildFunctionParameterTypeList (SgFunctionParameterList *paralist)
 Build SgFunctionParameterTypeList from SgFunctionParameterList.
 
ROSE_DLL_API SgFunctionParameterTypeListbuildFunctionParameterTypeList (SgExprListExp *expList)
 Build SgFunctionParameterTypeList from an expression list, useful when building a function call.
 
ROSE_DLL_API SgFunctionParameterTypeListbuildFunctionParameterTypeList (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.
 
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 SgVariableDeclarationbuildVariableDeclaration (const SgName &name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgVariableDeclarationbuildVariableDeclaration (const std::string &name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgVariableDeclarationbuildVariableDeclaration (const char *name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgVariableDeclarationbuildVariableDeclaration_nfi (const SgName &name, SgType *type, SgInitializer *varInit, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgVariableDefinitionbuildVariableDefinition_nfi (SgVariableDeclaration *decl, SgInitializedName *init_name, SgInitializer *init)
 Build variable definition.
 
ROSE_DLL_API SgTemplateVariableDeclarationbuildTemplateVariableDeclaration_nfi (const SgName &name, SgType *type, SgInitializer *varInit, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
 
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;.
 
ROSE_DLL_API 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.
 
ROSE_DLL_API SgTemplateTypedefDeclarationbuildTemplateTypedefDeclaration_nfi (const SgName &name, SgType *base_type, SgScopeStatement *scope=NULL, bool has_defining_base=false)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgTemplateInstantiationTypedefDeclarationbuildTemplateInstantiationTypedefDeclaration_nfi (SgName &name, SgType *base_type, SgScopeStatement *scope, bool has_defining_base, SgTemplateTypedefDeclaration *templateTypedefDeclaration, SgTemplateArgumentPtrList &templateArgumentList)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgFunctionParameterListbuildFunctionParameterList (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.
 
SgFunctionParameterListbuildFunctionParameterList_nfi ()
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgFunctionParameterListbuildFunctionParameterList (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.
 
ROSE_DLL_API SgFunctionParameterListbuildFunctionParameterList_nfi (SgFunctionParameterTypeList *paraTypeList)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API void setTemplateNameInTemplateInstantiations (SgFunctionDeclaration *func, const SgName &name)
 DQ (2/11/2012): Added support to set the template name in function template instantiations (member and non-member).
 
ROSE_DLL_API void setTemplateArgumentParents (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API void testTemplateArgumentParents (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgTemplateArgumentPtrList * getTemplateArgumentList (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API void testTemplateParameterParents (SgDeclarationStatement *decl)
 DQ (9/16/2012): Added function to support setting the template parameters and setting their parents (and for any relevant declaration).
 
ROSE_DLL_API void setTemplateParameterParents (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgTemplateParameterPtrList * getTemplateParameterList (SgDeclarationStatement *decl)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API void setTemplateArgumentsInDeclaration (SgDeclarationStatement *decl, SgTemplateArgumentPtrList *templateArgumentsList_input)
 DQ (9/16/2012): Added function to support setting the template arguments and setting their parents (and for any relevant declaration).
 
ROSE_DLL_API void setTemplateSpecializationArgumentsInDeclaration (SgDeclarationStatement *decl, SgTemplateArgumentPtrList *templateSpecializationArgumentsList_input)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API void setTemplateParametersInDeclaration (SgDeclarationStatement *decl, SgTemplateParameterPtrList *templateParametersList_input)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgFunctionDeclarationbuildNondefiningFunctionDeclaration (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.
 
ROSE_DLL_API SgFunctionDeclarationbuildNondefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API 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.
 
ROSE_DLL_API SgTemplateFunctionDeclarationbuildDefiningTemplateFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, SgTemplateFunctionDeclaration *first_nondefining_declaration)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgFunctionDeclarationbuildNondefiningFunctionDeclaration (const SgFunctionDeclaration *funcdecl, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a prototype for an existing function declaration (defining or nondefining is fine)
 
ROSE_DLL_API SgMemberFunctionDeclarationbuildNondefiningMemberFunctionDeclaration (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.
 
ROSE_DLL_API SgTemplateMemberFunctionDeclarationbuildNondefiningTemplateMemberFunctionDeclaration (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.
 
ROSE_DLL_API SgTemplateMemberFunctionDeclarationbuildDefiningTemplateMemberFunctionDeclaration (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.
 
ROSE_DLL_API SgMemberFunctionDeclarationbuildDefiningMemberFunctionDeclaration (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.
 
ROSE_DLL_API SgMemberFunctionDeclarationbuildNondefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgMemberFunctionDeclarationbuildDefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgFunctionDeclarationbuildDefiningFunctionDeclaration (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.
 
ROSE_DLL_API SgFunctionDeclarationbuildDefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgProcedureHeaderStatementbuildProcedureHeaderStatement (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgProcedureHeaderStatement::subprogram_kind_enum, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgProcedureHeaderStatementbuildProcedureHeaderStatement (const char *name, SgType *return_type, SgFunctionParameterList *parlist, SgProcedureHeaderStatement::subprogram_kind_enum, SgScopeStatement *scope, SgProcedureHeaderStatement *first_nondefining_declaration)
 Build a Fortran subroutine or procedure.
 
ROSE_DLL_API SgExprStatementbuildFunctionCallStmt (const SgName &name, SgType *return_type, SgExprListExp *parameters=NULL, SgScopeStatement *scope=NULL)
 Build a regular function call statement.
 
ROSE_DLL_API SgExprStatementbuildFunctionCallStmt (SgExpression *function, SgExprListExp *parameters=NULL)
 Build a function call statement using function expression and argument list only, like (*funcPtr)(args);.
 
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.
 
ROSE_DLL_API SgGotoStatementbuildGotoStatement (SgLabelStatement *label=NULL)
 Build a goto statement.
 
SgGotoStatementbuildGotoStatement_nfi (SgLabelStatement *label)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgGotoStatementbuildGotoStatement (SgLabelSymbol *symbol)
 Build a goto statement from a label symbol, supporting both C/C++ and Fortran cases.
 
ROSE_DLL_API SgCaseOptionStmtbuildCaseOptionStmt (SgExpression *key=NULL, SgStatement *body=NULL)
 Build a case option statement.
 
SgCaseOptionStmtbuildCaseOptionStmt_nfi (SgExpression *key, SgStatement *body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgDefaultOptionStmtbuildDefaultOptionStmt (SgStatement *body=NULL)
 Build a default option statement.
 
SgDefaultOptionStmtbuildDefaultOptionStmt_nfi (SgStatement *body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgExprStatementbuildExprStatement (SgExpression *exp=NULL)
 Build a SgExprStatement, set File_Info automatically.
 
SgExprStatementbuildExprStatement_nfi (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgStatementExpressionbuildStatementExpression (SgStatement *exp)
 Build a GNU statement expression.
 
ROSE_DLL_API SgStatementExpressionbuildStatementExpression_nfi (SgStatement *exp)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgSwitchStatementbuildSwitchStatement (SgStatement *item_selector=NULL, SgStatement *body=NULL)
 Build a switch statement.
 
SgSwitchStatementbuildSwitchStatement (SgExpression *item_selector, SgStatement *body=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgSwitchStatementbuildSwitchStatement_nfi (SgStatement *item_selector, SgStatement *body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgIfStmtbuildIfStmt (SgStatement *conditional, SgStatement *true_body, SgStatement *false_body)
 Build if statement.
 
SgIfStmtbuildIfStmt (SgExpression *conditional, SgStatement *true_body, SgStatement *false_body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgIfStmtbuildIfStmt_nfi (SgStatement *conditional, SgStatement *true_body, SgStatement *false_body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgForInitStatementbuildForInitStatement ()
 Build a for init statement.
 
ROSE_DLL_API SgForInitStatementbuildForInitStatement (const SgStatementPtrList &statements)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgForInitStatementbuildForInitStatement_nfi (SgStatementPtrList &statements)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgForInitStatementbuildForInitStatement (SgStatement *statement)
 Build a variable declaration, handle symbol table transparently.
 
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.
 
ROSE_DLL_API SgForStatementbuildForStatement_nfi (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgForStatementbuildForStatement_nfi (SgForInitStatement *init_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API 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.
 
ROSE_DLL_API void buildDoWhileStatement_nfi (SgDoWhileStmt *result, SgStatement *body, SgStatement *condition)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgUpcForAllStatementbuildUpcForAllStatement_nfi (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgExpression *affinity, SgStatement *loop_body)
 Build a UPC forall statement.
 
ROSE_DLL_API SgUpcForAllStatementbuildUpcForAllStatement_nfi (SgForInitStatement *init_stmt, SgStatement *test, SgExpression *increment, SgExpression *affinity, SgStatement *loop_body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgUpcNotifyStatementbuildUpcNotifyStatement_nfi (SgExpression *exp)
 Build a UPC notify statement.
 
ROSE_DLL_API SgUpcWaitStatementbuildUpcWaitStatement_nfi (SgExpression *exp)
 Build a UPC wait statement.
 
ROSE_DLL_API SgUpcBarrierStatementbuildUpcBarrierStatement_nfi (SgExpression *exp)
 Build a UPC barrier statement.
 
ROSE_DLL_API SgUpcFenceStatementbuildUpcFenceStatement_nfi ()
 Build a UPC fence statement.
 
ROSE_DLL_API SgWhileStmtbuildWhileStmt (SgStatement *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build while statement.
 
SgWhileStmtbuildWhileStmt (SgExpression *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently.
 
SgWhileStmtbuildWhileStmt_nfi (SgStatement *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgWithStatementbuildWithStatement (SgExpression *expr, SgStatement *body)
 Build a with statement.
 
SgWithStatementbuildWithStatement_nfi (SgExpression *expr, SgStatement *body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgDoWhileStmtbuildDoWhileStmt (SgStatement *body, SgStatement *condition)
 Build do-while statement.
 
SgDoWhileStmtbuildDoWhileStmt (SgStatement *body, SgExpression *condition)
 Build a variable declaration, handle symbol table transparently.
 
SgDoWhileStmtbuildDoWhileStmt_nfi (SgStatement *body, SgStatement *condition)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgPragmaDeclarationbuildPragmaDeclaration (const std::string &name, SgScopeStatement *scope=NULL)
 Build pragma declaration, handle SgPragma and defining/nondefining pointers internally.
 
SgPragmaDeclarationbuildPragmaDeclaration_nfi (const std::string &name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgPragmabuildPragma (const std::string &name)
 Build SgPragma.
 
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.
 
ROSE_DLL_API SgBasicBlockbuildBasicBlock_nfi ()
 Build a variable declaration, handle symbol table transparently.
 
SgBasicBlockbuildBasicBlock_nfi (const std::vector< SgStatement * > &)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgExprStatementbuildAssignStatement (SgExpression *lhs, SgExpression *rhs)
 Build an assignment statement from lefthand operand and right hand operand.
 
ROSE_DLL_API SgExprStatementbuildAssignStatement_ast_translate (SgExpression *lhs, SgExpression *rhs)
 This version does not recursively reset the file info as a transformation.
 
ROSE_DLL_API SgBreakStmtbuildBreakStmt ()
 Build a break statement.
 
SgBreakStmtbuildBreakStmt_nfi ()
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgContinueStmtbuildContinueStmt ()
 Build a continue statement.
 
SgContinueStmtbuildContinueStmt_nfi ()
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgPassStatementbuildPassStatement ()
 Build a pass statement.
 
SgPassStatementbuildPassStatement_nfi ()
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgAssertStmtbuildAssertStmt (SgExpression *test)
 Build a Assert statement.
 
ROSE_DLL_API SgAssertStmtbuildAssertStmt (SgExpression *test, SgExpression *exceptionArgument)
 Build a variable declaration, handle symbol table transparently.
 
SgAssertStmtbuildAssertStmt_nfi (SgExpression *test)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgYieldExpressionbuildYieldExpression (SgExpression *value)
 Build a yield statement.
 
SgYieldExpressionbuildYieldExpression_nfi (SgExpression *value)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgKeyDatumPairbuildKeyDatumPair (SgExpression *key, SgExpression *datum)
 Build a key-datum pair.
 
SgKeyDatumPairbuildKeyDatumPair_nfi (SgExpression *key, SgExpression *datum)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgDictionaryExpbuildDictionaryExp (std::vector< SgKeyDatumPair * > pairs)
 Build a list of key-datum pairs.
 
SgDictionaryExpbuildDictionaryExp_nfi (std::vector< SgKeyDatumPair * > pairs)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgActualArgumentExpressionbuildActualArgumentExpression (SgName arg_name, SgExpression *arg)
 Build an Actual Argument Expression.
 
SgActualArgumentExpressionbuildActualArgumentExpression_nfi (SgName arg_name, SgExpression *arg)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgDeleteExpbuildDeleteExp (SgExpression *target, bool is_array=false, bool need_global_specifier=false, SgFunctionDeclaration *deleteOperatorDeclaration=NULL)
 Build a delete statement.
 
SgDeleteExpbuildDeleteExp_nfi (SgExpression *target, bool is_array=false, bool need_global_specifier=false, SgFunctionDeclaration *deleteOperatorDeclaration=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgClassDefinitionbuildClassDefinition (SgClassDeclaration *d=NULL, bool buildTemplateInstantiation=false)
 Build a class definition scope statement.
 
SgClassDefinitionbuildClassDefinition_nfi (SgClassDeclaration *d=NULL, bool buildTemplateInstantiation=false)
 Build a class definition scope statement.
 
SgTemplateClassDefinitionbuildTemplateClassDefinition (SgTemplateClassDeclaration *d=NULL)
 Build a template class definition statement.
 
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.
 
ROSE_DLL_API SgTemplateClassDeclarationbuildNondefiningTemplateClassDeclaration_nfi (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgTemplateParameterPtrList *templateParameterList, SgTemplateArgumentPtrList *templateSpecializationArgumentList)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgClassDeclarationbuildNondefiningClassDeclaration (SgName name, SgScopeStatement *scope)
 DQ (11/7/2009): Added functions to build C++ class.
 
ROSE_DLL_API SgClassDeclarationbuildDefiningClassDeclaration (SgName name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgClassDeclarationbuildClassDeclaration (SgName name, SgScopeStatement *scope)
 DQ (11/7/2009): Added function to build C++ class (builds both the non-defining and defining declarations; in that order).
 
ROSE_DLL_API SgEnumDeclarationbuildNondefiningEnumDeclaration_nfi (const SgName &name, SgScopeStatement *scope)
 Build an enum first nondefining declaration, without file info.
 
ROSE_DLL_API SgClassDeclarationbuildStructDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 Build a structure, It is also a declaration statement in SAGE III.
 
ROSE_DLL_API SgClassDeclarationbuildStructDeclaration (const std::string &name, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgClassDeclarationbuildStructDeclaration (const char *name, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgStmtDeclarationStatementbuildStmtDeclarationStatement (SgStatement *stmt)
 Build a StmtDeclarationStmt.
 
ROSE_DLL_API SgStmtDeclarationStatementbuildStmtDeclarationStatement_nfi (SgStatement *stmt)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgNamespaceDeclarationStatementbuildNamespaceDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 tps (09/02/2009) : Added support for building namespaces
 
ROSE_DLL_API SgNamespaceDeclarationStatementbuildNamespaceDeclaration_nfi (const SgName &name, bool unnamednamespace, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgNamespaceDefinitionStatementbuildNamespaceDefinition (SgNamespaceDeclarationStatement *d=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgNaryComparisonOpbuildNaryComparisonOp (SgExpression *lhs)
 driscoll6 (7/20/11) : Support n-ary operators for python
 
ROSE_DLL_API SgNaryComparisonOpbuildNaryComparisonOp_nfi (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgNaryBooleanOpbuildNaryBooleanOp (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgNaryBooleanOpbuildNaryBooleanOp_nfi (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgStringConversionbuildStringConversion (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgStringConversionbuildStringConversion_nfi (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API 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.
 
ROSE_DLL_API 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.
 
ROSE_DLL_API SgEnumDeclarationbuildEnumDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 Build an enum, It is also a declaration statement in SAGE III.
 
ROSE_DLL_API SgEnumDeclarationbuildEnumDeclaration_nfi (const SgName &name, SgScopeStatement *scope=NULL)
 Build an enum, It is also a declaration statement in SAGE III.
 
ROSE_DLL_API SgReturnStmtbuildReturnStmt (SgExpression *expression=NULL)
 Build a return statement.
 
ROSE_DLL_API SgReturnStmtbuildReturnStmt_nfi (SgExpression *expression)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgNullStatementbuildNullStatement ()
 Build a NULL statement.
 
SgNullStatementbuildNullStatement_nfi ()
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgAttributeSpecificationStatementbuildAttributeSpecificationStatement (SgAttributeSpecificationStatement::attribute_spec_enum kind)
 Build Fortran attribute specification statement.
 
ROSE_DLL_API SgFortranIncludeLinebuildFortranIncludeLine (std::string filename)
 Build Fortran include line.
 
ROSE_DLL_API SgCommonBlockObjectbuildCommonBlockObject (std::string name="", SgExprListExp *exp_list=NULL)
 Build a Fortran common block, possibly with a name.
 
ROSE_DLL_API SgCommonBlockbuildCommonBlock (SgCommonBlockObject *first_block=NULL)
 Build a Fortran Common statement.
 
ROSE_DLL_API SgCatchOptionStmtbuildCatchOptionStmt (SgVariableDeclaration *condition=NULL, SgStatement *body=NULL)
 Build a catch statement.
 
ROSE_DLL_API SgAsyncStmtbuildAsyncStmt (SgBasicBlock *body)
 MH (6/10/2014): Added async support.
 
ROSE_DLL_API SgFinishStmtbuildFinishStmt (SgBasicBlock *body)
 MH (6/11/2014): Added finish support.
 
ROSE_DLL_API SgAtStmtbuildAtStmt (SgExpression *expression, SgBasicBlock *body)
 MH (6/11/2014): Added at support.
 
ROSE_DLL_API SgAtomicStmtbuildAtomicStmt (SgBasicBlock *body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgWhenStmtbuildWhenStmt (SgExpression *expression, SgBasicBlock *body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgAtExpbuildAtExp (SgExpression *expression, SgBasicBlock *body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgFinishExpbuildFinishExp (SgExpression *expression, SgBasicBlock *body)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgHereExpbuildHereExpression ()
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgDotDotExpbuildDotDotExp ()
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgTryStmtbuildTryStmt (SgStatement *body, SgCatchOptionStmt *catch0=NULL, SgCatchOptionStmt *catch1=NULL, SgCatchOptionStmt *catch2=NULL, SgCatchOptionStmt *catch3=NULL, SgCatchOptionStmt *catch4=NULL)
 Build a try statement.
 
ROSE_DLL_API SgTryStmtbuildTryStmt (SgBasicBlock *try_body, SgBasicBlock *finally_body=NULL)
 Build a try statement. More...
 
ROSE_DLL_API SgCatchStatementSeqbuildCatchStatementSeq (SgCatchOptionStmt *=NULL)
 Build an initial sequence of Catch blocks containing 0 or 1 element.
 
ROSE_DLL_API SgJavaSynchronizedStatementbuildJavaSynchronizedStatement (SgExpression *, SgBasicBlock *)
 Build a Java Synchronized statement.
 
ROSE_DLL_API SgJavaThrowStatementbuildJavaThrowStatement (SgThrowOp *)
 Build a Java Throw statement.
 
ROSE_DLL_API SgJavaForEachStatementbuildJavaForEachStatement (SgVariableDeclaration *=NULL, SgExpression *=NULL, SgStatement *=NULL)
 Build a Java Foreach statement.
 
ROSE_DLL_API SgJavaLabelStatementbuildJavaLabelStatement (const SgName &, SgStatement *=NULL)
 Build a Java Label statement.
 
ROSE_DLL_API SgExecStatementbuildExecStatement (SgExpression *executable, SgExpression *globals=NULL, SgExpression *locals=NULL)
 Build an exec statement.
 
SgExecStatementbuildExecStatement_nfi (SgExpression *executable, SgExpression *globals=NULL, SgExpression *locals=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgPythonPrintStmtbuildPythonPrintStmt (SgExpression *dest=NULL, SgExprListExp *values=NULL)
 Build a python print statement.
 
SgPythonPrintStmtbuildPythonPrintStmt_nfi (SgExpression *dest=NULL, SgExprListExp *values=NULL)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgPythonGlobalStmtbuildPythonGlobalStmt (SgInitializedNamePtrList &names)
 Build a python global statement.
 
SgPythonGlobalStmtbuildPythonGlobalStmt_nfi (SgInitializedNamePtrList &names)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgAsmStmtbuildAsmStatement (std::string s)
 Build a NULL statement.
 
SgAsmStmtbuildAsmStatement_nfi (std::string s)
 Build a variable declaration, handle symbol table transparently.
 
ROSE_DLL_API SgAsmStmtbuildMultibyteNopStatement (int n)
 DQ (4/30/2010): Added support for building nop statement using asm statement Building nop statement using asm statement.
 
SgBaseClassbuildBaseClass (SgClassDeclaration *classDeclaration, SgClassDefinition *classDefinition, bool isVirtual, bool isDirect)
 DQ (5/6/2013): Added build functions to support SgBaseClass construction.
 
ROSE_DLL_API SgStaticAssertionDeclarationbuildStaticAssertionDeclaration (SgExpression *condition, const SgName &string_literal)
 DQ (7/25/2014): Adding support for C11 static assertions.
 
ROSE_DLL_API SgMicrosoftAttributeDeclarationbuildMicrosoftAttributeDeclaration (const SgName &name)
 DQ (8/17/2014): Adding support for Microsoft MSVC specific attributes.
 
ROSE_DLL_API SgStatementbuildStatementFromString (const std::string &stmt_str, SgScopeStatement *scope)
 Liao (9/18/2015): experimental support of building a statement from a string.
 
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().
 
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.
 
ROSE_DLL_API AbstractHandle::abstract_handlebuildAbstractHandle (SgNode *n)
 Build an abstract handle from a SgNode.
 
ROSE_DLL_API SgEquivalenceStatementbuildEquivalenceStatement (SgExpression *lhs, SgExpression *rhs)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API void fixupCopyOfAstFromSeparateFileInNewTargetAst (SgStatement *insertionPoint, bool insertionPointIsScope, SgStatement *toInsert, SgStatement *original_before_copy)
 Fixup any AST moved from one file two another (references to symbols, types, etc.).
 
ROSE_DLL_API void fixupCopyOfNodeFromSeparateFileInNewTargetAst (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.
 
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 SgJavaMarkerAnnotationbuildJavaMarkerAnnotation (SgType *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaMemberValuePairbuildJavaMemberValuePair (const SgName &, SgExpression *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaSingleMemberAnnotationbuildJavaSingleMemberAnnotation (SgType *, SgExpression *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaNormalAnnotationbuildJavaNormalAnnotation (SgType *)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaNormalAnnotationbuildJavaNormalAnnotation (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 SgJavaPackageStatementbuildJavaPackageStatement (std::string)
 Build a SgFile node and attach it to SgProject. More...
 
ROSE_DLL_API SgJavaImportStatementbuildJavaImportStatement (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 SgJavaParameterizedTypegetUniqueJavaParameterizedType (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...
 
Untyped IR Node Build Interfaces

Build function for ROSE AST's in terms of Untyped IR nodes.

The ROSE Untyped IR nodes can be a starting place for defining the new language frontend, these IR nodes address the interface from an external language parser and the construction of the ROSE Untyped AST. Later iterations on the ROSE Untyped AST can be used to translate (or construct) a proper ROSE AST in terms of non-untyped IR nodes.

ROSE_DLL_API SgUntypedScopebuildUntypedScope (SgUntypedDeclarationStatementList *declaration_list, SgUntypedStatementList *statement_list, SgUntypedFunctionDeclarationList *function_list)
 build a concept of scope in the untyped AST.
 
ROSE_DLL_API SgUntypedGlobalScopebuildUntypedGlobalScope (SgUntypedDeclarationStatementList *declaration_list, SgUntypedStatementList *statement_list, SgUntypedFunctionDeclarationList *function_list)
 build a concept of scope in the untyped AST.
 
ROSE_DLL_API SgUntypedFunctionScopebuildUntypedFunctionScope (SgUntypedDeclarationStatementList *declaration_list, SgUntypedStatementList *statement_list, SgUntypedFunctionDeclarationList *function_list)
 build a concept of scope in the untyped AST.
 
ROSE_DLL_API SgUntypedModuleScopebuildUntypedModuleScope (SgUntypedDeclarationStatementList *declaration_list, SgUntypedStatementList *statement_list, SgUntypedFunctionDeclarationList *function_list)
 build a concept of scope in the untyped AST.
 
ROSE_DLL_API SgUntypedFunctionDeclarationbuildUntypedFunctionDeclaration (std::string name, SgUntypedInitializedNameList *parameters, SgUntypedType *type, SgUntypedFunctionScope *scope, SgUntypedNamedStatement *end_statement)
 build a concept of scope in the untyped AST.
 
ROSE_DLL_API SgUntypedProgramHeaderDeclarationbuildUntypedProgramHeaderDeclaration (std::string name, SgUntypedInitializedNameList *parameters, SgUntypedType *type, SgUntypedFunctionScope *scope, SgUntypedNamedStatement *end_statement)
 build a concept of scope in the untyped AST.
 
ROSE_DLL_API SgUntypedSubroutineDeclarationbuildUntypedSubroutineDeclaration (std::string name, SgUntypedInitializedNameList *parameters, SgUntypedType *type, SgUntypedFunctionScope *scope, SgUntypedNamedStatement *end_statement)
 build a concept of scope in the untyped AST.
 
ROSE_DLL_API SgUntypedFilebuildUntypedFile (SgUntypedGlobalScope *scope)
 build a concept of scope in the untyped AST.
 

Variables

Sawyer::Message::Facility mlog
 
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).
 

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.

std::list< SgScopeStatement * > ScopeStack
 intended to be a private member, don't access it directly. could be changed any time
 
bool symbol_table_case_insensitive_semantics
 Support for construction of case sensitive/insensitive symbol table handling in scopes.
 
ROSE_DLL_API void pushScopeStack (SgScopeStatement *stmt)
 Public interfaces of the scope stack, should be stable.
 
ROSE_DLL_API void popScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time
 
ROSE_DLL_API SgScopeStatementtopScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time
 
ROSE_DLL_API bool emptyScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time
 
ROSE_DLL_API void clearScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time
 
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).
 
bool inSwitchScope ()
 intended to be a private member, don't access it directly. could be changed any time
 

Enumeration Type Documentation

Enumerator
e_sourcePositionDefault 

Error value for enum.

e_sourcePositionTransformation 

Default source position.

e_sourcePositionCompilerGenerated 

Classify as a transformation.

e_sourcePositionNullPointers 

Classify as compiler generated code (e.g. template instantiation).

e_sourcePositionFrontendConstruction 

Set pointers to Sg_File_Info objects to NULL.

e_sourcePosition_last 

Specify as source position to be filled in as part of AST construction in the front-end.

Last entry in enum.

Definition at line 138 of file sageBuilder.h.

Function Documentation

ROSE_DLL_API SgMemberFunctionType* SageBuilder::buildMemberFunctionType ( SgType return_type,
SgFunctionParameterTypeList typeList,
SgClassType classType,
unsigned int  mfunc_specifier 
)

DQ (12/2/2011): Added for symetry with other functios to generate SgFunctionType.

DQ (8/19/2012): Refactored some of the code supporting construction of the SgMemberFunctionType.

ROSE_DLL_API SgClassType* SageBuilder::buildClassTemplateType ( SgTemplateClassDeclaration template_decl,
Rose_STL_Container< SgNode * > &  template_args 
)

Some support for building class template instantiation declarations.

Note, the template is not actually instantiated, but a `forward declaration' node is created.

Parameters
template_declthe template class declaration (e.g., template <class t>=""> struct matrix {};)
template_argsthe arguments of the template instantiation. (e.g., [SgTypeFloat]). WARNING: the objects in this list will be linked into the template declaration and their parent pointer may change. Thus it is the caller's responsibility to clone nodes if used elsewhere. e.g., SomeClass<0> <- the expression representing 0 may be modified.
Returns
a class type for the instantiated template (e.g., matrix<float>)
ROSE_DLL_API SgType* SageBuilder::buildOpaqueType ( 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.

Some types are not known during translation but nevertheless are needed. For example, some internal types from a runtime library. To work around this problem: this function prepends a hidden typedef declaration into scope 'typedef int OpaqueTypeName;' The translation-generated code is expected to include the runtime library's headers to have the real type declarations.

ROSE_DLL_API SgVariantExpression* SageBuilder::buildVariantExpression ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBoolValExp* SageBuilder::buildBoolValExp ( bool  value = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBoolValExp* SageBuilder::buildBoolValExp_nfi ( int  value)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgCharVal* SageBuilder::buildCharVal ( char  value = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgCharVal* SageBuilder::buildCharVal_nfi ( char  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNullptrValExp* SageBuilder::buildNullptrValExp_nfi ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgWcharVal* SageBuilder::buildWcharVal ( wchar_t  value = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgWcharVal* SageBuilder::buildWcharVal_nfi ( wchar_t  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgComplexVal* SageBuilder::buildComplexVal ( SgValueExp real_value,
SgValueExp imaginary_value 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgComplexVal* SageBuilder::buildComplexVal_nfi ( SgValueExp real_value,
SgValueExp imaginary_value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgComplexVal* SageBuilder::buildImaginaryVal ( long double  imaginary_value)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgComplexVal* SageBuilder::buildImaginaryVal ( SgValueExp imaginary_value)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgComplexVal* SageBuilder::buildImaginaryVal_nfi ( SgValueExp imaginary_value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDoubleVal* SageBuilder::buildDoubleVal_nfi ( double  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgFloatVal* SageBuilder::buildFloatVal ( float  value = 0.0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgFloatVal* SageBuilder::buildFloatVal_nfi ( float  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIntVal* SageBuilder::buildIntValHex ( int  value = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIntVal* SageBuilder::buildIntVal_nfi ( int  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLongIntVal* SageBuilder::buildLongIntValHex ( long  value = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLongIntVal* SageBuilder::buildLongIntVal_nfi ( long  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLongLongIntVal* SageBuilder::buildLongLongIntValHex ( long long  value = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLongLongIntVal* SageBuilder::buildLongLongIntVal_nfi ( long long  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgEnumVal* SageBuilder::buildEnumVal_nfi ( int  value,
SgEnumDeclaration decl,
SgName  name 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgEnumVal* SageBuilder::buildEnumVal ( int  value,
SgEnumDeclaration decl,
SgName  name 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgEnumVal* SageBuilder::buildEnumVal ( SgEnumFieldSymbol sym)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLongDoubleVal* SageBuilder::buildLongDoubleVal ( long double  value = 0.0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLongDoubleVal* SageBuilder::buildLongDoubleVal_nfi ( long double  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgShortVal* SageBuilder::buildShortVal ( short  value = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgShortVal* SageBuilder::buildShortValHex ( short  value = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgShortVal* SageBuilder::buildShortVal_nfi ( short  value,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgStringVal* SageBuilder::buildStringVal ( std::string  value = "")

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgStringVal* SageBuilder::buildStringVal_nfi ( std::string  value)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedCharVal* SageBuilder::buildUnsignedCharValHex ( unsigned char  v = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedCharVal* SageBuilder::buildUnsignedCharVal_nfi ( unsigned char  v,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedShortVal* SageBuilder::buildUnsignedShortValHex ( unsigned short  v = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedShortVal* SageBuilder::buildUnsignedShortVal_nfi ( unsigned short  v,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedIntVal* SageBuilder::buildUnsignedIntValHex ( unsigned int  v = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedIntVal* SageBuilder::buildUnsignedIntVal_nfi ( unsigned int  v,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedLongVal* SageBuilder::buildUnsignedLongValHex ( unsigned long  v = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedLongVal* SageBuilder::buildUnsignedLongVal_nfi ( unsigned long  v,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedLongLongIntVal* SageBuilder::buildUnsignedLongLongIntValHex ( unsigned long long  v = 0)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnsignedLongLongIntVal* SageBuilder::buildUnsignedLongLongIntVal_nfi ( unsigned long long  v,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgTemplateParameterVal* SageBuilder::buildTemplateParameterVal_nfi ( int  template_parameter_position,
const std::string &  str 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUpcThreads* SageBuilder::buildUpcThreads_nfi ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUpcMythread* SageBuilder::buildUpcMythread_nfi ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgThisExp* SageBuilder::buildThisExp_nfi ( SgClassSymbol sym)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgSuperExp* SageBuilder::buildSuperExp_nfi ( SgClassSymbol sym)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgClassExp* SageBuilder::buildClassExp_nfi ( SgClassSymbol sym)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAddressOfOp* SageBuilder::buildAddressOfOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAddressOfOp* SageBuilder::buildAddressOfOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBitComplementOp* SageBuilder::buildBitComplementOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBitComplementOp* SageBuilder::buildBitComplementOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusOp* SageBuilder::buildMinusOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusOp* SageBuilder::buildMinusOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNotOp* SageBuilder::buildNotOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNotOp* SageBuilder::buildNotOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPointerDerefExp* SageBuilder::buildPointerDerefExp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPointerDerefExp* SageBuilder::buildPointerDerefExp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnaryAddOp* SageBuilder::buildUnaryAddOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgUnaryAddOp* SageBuilder::buildUnaryAddOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusMinusOp* SageBuilder::buildMinusMinusOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusMinusOp* SageBuilder::buildMinusMinusOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPlusPlusOp* SageBuilder::buildPlusPlusOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPlusPlusOp* SageBuilder::buildPlusPlusOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgRealPartOp* SageBuilder::buildRealPartOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgRealPartOp* SageBuilder::buildRealPartOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgImagPartOp* SageBuilder::buildImagPartOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgImagPartOp* SageBuilder::buildImagPartOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgConjugateOp* SageBuilder::buildConjugateOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgConjugateOp* SageBuilder::buildConjugateOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarArgStartOneOperandOp* SageBuilder::buildVarArgStartOneOperandOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarArgStartOneOperandOp* SageBuilder::buildVarArgStartOneOperandOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarArgEndOp* SageBuilder::buildVarArgEndOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarArgEndOp* SageBuilder::buildVarArgEndOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMatrixTransposeOp* SageBuilder::buildMatrixTransposeOp ( SgExpression op = NULL)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMatrixTransposeOp* SageBuilder::buildMatrixTransposeOp_nfi ( SgExpression op)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgCastExp* SageBuilder::buildCastExp_nfi ( SgExpression operand_i,
SgType expression_type,
SgCastExp::cast_type_enum  cast_type 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusOp* SageBuilder::buildMinusOp_nfi ( SgExpression operand_i,
SgUnaryOp::Sgop_mode  a_mode 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusMinusOp* SageBuilder::buildMinusMinusOp ( SgExpression operand_i,
SgUnaryOp::Sgop_mode  a_mode 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusMinusOp* SageBuilder::buildMinusMinusOp_nfi ( SgExpression operand_i,
SgUnaryOp::Sgop_mode  a_mode 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPlusPlusOp* SageBuilder::buildPlusPlusOp_nfi ( SgExpression operand_i,
SgUnaryOp::Sgop_mode  a_mode 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNewExp* SageBuilder::buildNewExp ( SgType type,
SgExprListExp exprListExp,
SgConstructorInitializer constInit,
SgExpression expr,
short int  val,
SgFunctionDeclaration funcDecl 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDeleteExp* SageBuilder::buildDeleteExp ( SgExpression variable,
short  is_array,
short  need_global_specifier,
SgFunctionDeclaration deleteOperatorDeclaration 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAddOp* SageBuilder::buildAddOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAddOp* SageBuilder::buildAddOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAndAssignOp* SageBuilder::buildAndAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAndAssignOp* SageBuilder::buildAndAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAndOp* SageBuilder::buildAndOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAndOp* SageBuilder::buildAndOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgArrowExp* SageBuilder::buildArrowExp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgArrowExp* SageBuilder::buildArrowExp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgArrowStarOp* SageBuilder::buildArrowStarOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgArrowStarOp* SageBuilder::buildArrowStarOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAssignOp* SageBuilder::buildAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAssignOp* SageBuilder::buildAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBitAndOp* SageBuilder::buildBitAndOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBitAndOp* SageBuilder::buildBitAndOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBitOrOp* SageBuilder::buildBitOrOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBitOrOp* SageBuilder::buildBitOrOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBitXorOp* SageBuilder::buildBitXorOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBitXorOp* SageBuilder::buildBitXorOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgCommaOpExp* SageBuilder::buildCommaOpExp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgCommaOpExp* SageBuilder::buildCommaOpExp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgConcatenationOp* SageBuilder::buildConcatenationOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgConcatenationOp* SageBuilder::buildConcatenationOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDivAssignOp* SageBuilder::buildDivAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDivAssignOp* SageBuilder::buildDivAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDivideOp* SageBuilder::buildDivideOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDivideOp* SageBuilder::buildDivideOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDotExp* SageBuilder::buildDotExp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDotExp* SageBuilder::buildDotExp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDotStarOp* SageBuilder::buildDotStarOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDotStarOp* SageBuilder::buildDotStarOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgEqualityOp* SageBuilder::buildEqualityOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgEqualityOp* SageBuilder::buildEqualityOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgExponentiationOp* SageBuilder::buildExponentiationOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgExponentiationOp* SageBuilder::buildExponentiationOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgExponentiationAssignOp* SageBuilder::buildExponentiationAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgExponentiationAssignOp* SageBuilder::buildExponentiationAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgGreaterOrEqualOp* SageBuilder::buildGreaterOrEqualOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgGreaterOrEqualOp* SageBuilder::buildGreaterOrEqualOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgGreaterThanOp* SageBuilder::buildGreaterThanOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgGreaterThanOp* SageBuilder::buildGreaterThanOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIntegerDivideOp* SageBuilder::buildIntegerDivideOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIntegerDivideOp* SageBuilder::buildIntegerDivideOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIntegerDivideAssignOp* SageBuilder::buildIntegerDivideAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIntegerDivideAssignOp* SageBuilder::buildIntegerDivideAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIorAssignOp* SageBuilder::buildIorAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIorAssignOp* SageBuilder::buildIorAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIsOp* SageBuilder::buildIsOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIsOp* SageBuilder::buildIsOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIsNotOp* SageBuilder::buildIsNotOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgIsNotOp* SageBuilder::buildIsNotOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLessOrEqualOp* SageBuilder::buildLessOrEqualOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLessOrEqualOp* SageBuilder::buildLessOrEqualOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLessThanOp* SageBuilder::buildLessThanOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLessThanOp* SageBuilder::buildLessThanOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLshiftAssignOp* SageBuilder::buildLshiftAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLshiftAssignOp* SageBuilder::buildLshiftAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLshiftOp* SageBuilder::buildLshiftOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLshiftOp* SageBuilder::buildLshiftOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMembershipOp* SageBuilder::buildMembershipOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMembershipOp* SageBuilder::buildMembershipOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusAssignOp* SageBuilder::buildMinusAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMinusAssignOp* SageBuilder::buildMinusAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgModAssignOp* SageBuilder::buildModAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgModAssignOp* SageBuilder::buildModAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgModOp* SageBuilder::buildModOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgModOp* SageBuilder::buildModOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMultAssignOp* SageBuilder::buildMultAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMultAssignOp* SageBuilder::buildMultAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMultiplyOp* SageBuilder::buildMultiplyOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMultiplyOp* SageBuilder::buildMultiplyOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNonMembershipOp* SageBuilder::buildNonMembershipOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNonMembershipOp* SageBuilder::buildNonMembershipOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNotEqualOp* SageBuilder::buildNotEqualOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNotEqualOp* SageBuilder::buildNotEqualOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgOrOp* SageBuilder::buildOrOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgOrOp* SageBuilder::buildOrOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPlusAssignOp* SageBuilder::buildPlusAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPlusAssignOp* SageBuilder::buildPlusAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPntrArrRefExp* SageBuilder::buildPntrArrRefExp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPntrArrRefExp* SageBuilder::buildPntrArrRefExp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgRshiftAssignOp* SageBuilder::buildRshiftAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgRshiftAssignOp* SageBuilder::buildRshiftAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgJavaUnsignedRshiftAssignOp* SageBuilder::buildJavaUnsignedRshiftAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgJavaUnsignedRshiftAssignOp* SageBuilder::buildJavaUnsignedRshiftAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgRshiftOp* SageBuilder::buildRshiftOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgRshiftOp* SageBuilder::buildRshiftOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgJavaUnsignedRshiftOp* SageBuilder::buildJavaUnsignedRshiftOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgJavaUnsignedRshiftOp* SageBuilder::buildJavaUnsignedRshiftOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgScopeOp* SageBuilder::buildScopeOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgScopeOp* SageBuilder::buildScopeOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgSubtractOp* SageBuilder::buildSubtractOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgSubtractOp* SageBuilder::buildSubtractOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgXorAssignOp* SageBuilder::buildXorAssignOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgXorAssignOp* SageBuilder::buildXorAssignOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarArgCopyOp* SageBuilder::buildVarArgCopyOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarArgCopyOp* SageBuilder::buildVarArgCopyOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarArgStartOp* SageBuilder::buildVarArgStartOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarArgStartOp* SageBuilder::buildVarArgStartOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPowerOp* SageBuilder::buildPowerOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgPowerOp* SageBuilder::buildPowerOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwisePowerOp* SageBuilder::buildElementwisePowerOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwisePowerOp* SageBuilder::buildElementwisePowerOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseMultiplyOp* SageBuilder::buildElementwiseMultiplyOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseMultiplyOp* SageBuilder::buildElementwiseMultiplyOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseDivideOp* SageBuilder::buildElementwiseDivideOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseDivideOp* SageBuilder::buildElementwiseDivideOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLeftDivideOp* SageBuilder::buildLeftDivideOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLeftDivideOp* SageBuilder::buildLeftDivideOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseLeftDivideOp* SageBuilder::buildElementwiseLeftDivideOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseLeftDivideOp* SageBuilder::buildElementwiseLeftDivideOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseAddOp* SageBuilder::buildElementwiseAddOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseAddOp* SageBuilder::buildElementwiseAddOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseSubtractOp* SageBuilder::buildElementwiseSubtractOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgElementwiseSubtractOp* SageBuilder::buildElementwiseSubtractOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgConditionalExp* SageBuilder::buildConditionalExp_nfi ( SgExpression test,
SgExpression a,
SgExpression b,
SgType t 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgExprListExp* SageBuilder::buildExprListExp ( const std::vector< SgExpression * > &  exprs)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgExprListExp* SageBuilder::buildExprListExp_nfi ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgExprListExp* SageBuilder::buildExprListExp_nfi ( const std::vector< SgExpression * > &  exprs)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgTupleExp* SageBuilder::buildTupleExp ( const std::vector< SgExpression * > &  exprs)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgTupleExp* SageBuilder::buildTupleExp_nfi ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgTupleExp* SageBuilder::buildTupleExp_nfi ( const std::vector< SgExpression * > &  exprs)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgListExp* SageBuilder::buildListExp ( const std::vector< SgExpression * > &  exprs)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgListExp* SageBuilder::buildListExp_nfi ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgListExp* SageBuilder::buildListExp_nfi ( const std::vector< SgExpression * > &  exprs)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgComprehension* SageBuilder::buildComprehension ( SgExpression target,
SgExpression iter,
SgExprListExp ifs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComprehension* SageBuilder::buildComprehension_nfi ( SgExpression target,
SgExpression iter,
SgExprListExp ifs 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgListComprehension* SageBuilder::buildListComprehension ( SgExpression elt,
SgExprListExp generators 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgListComprehension* SageBuilder::buildListComprehension_nfi ( SgExpression elt,
SgExprListExp generators 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgSetComprehension* SageBuilder::buildSetComprehension ( SgExpression elt,
SgExprListExp generators 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgSetComprehension* SageBuilder::buildSetComprehension_nfi ( SgExpression elt,
SgExprListExp generators 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgDictionaryComprehension* SageBuilder::buildDictionaryComprehension ( SgKeyDatumPair kd_pair,
SgExprListExp generators 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgDictionaryComprehension* SageBuilder::buildDictionaryComprehension_nfi ( SgKeyDatumPair kd_pair,
SgExprListExp generators 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarRefExp* SageBuilder::buildVarRefExp ( 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).

It is possible to build a reference to a variable with known name before the variable is declaration, especially during bottomup construction of AST. In this case, SgTypeUnknown is used to indicate the variable reference needing postprocessing fix using fixVariableReferences() once the AST is complete and all variable declarations exist. But the side effect is some get_type() operation may not recognize the unknown type before the fix. So far, I extended SgPointerDerefExp::get_type() and SgPntrArrRefExp::get_type() for SgTypeUnknown. There may be others needing the same extension.

ROSE_DLL_API SgVarRefExp* SageBuilder::buildVarRefExp_nfi ( SgVariableSymbol varSymbol)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgVarRefExp* SageBuilder::buildVarRefExp ( 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.

ROSE_DLL_API SgVarRefExp* SageBuilder::buildOpaqueVarRefExp ( 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();.

It will declare a hidden int varName at the specified scope to cheat the AST consistence tests.

SgCompoundLiteralExp* SageBuilder::buildCompoundLiteralExp ( SgVariableSymbol varSymbol)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgFunctionRefExp* SageBuilder::buildFunctionRefExp ( const char *  name,
const SgType func_type,
SgScopeStatement scope = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgFunctionRefExp* SageBuilder::buildFunctionRefExp ( const char *  name,
SgScopeStatement scope = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFunctionRefExp* SageBuilder::buildFunctionRefExp_nfi ( SgFunctionSymbol sym)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgMemberFunctionRefExp* SageBuilder::buildMemberFunctionRefExp_nfi ( SgMemberFunctionSymbol sym,
bool  virtual_call,
bool  need_qualifier 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgMemberFunctionRefExp* SageBuilder::buildMemberFunctionRefExp ( SgMemberFunctionSymbol sym,
bool  virtual_call,
bool  need_qualifier 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgClassNameRefExp* SageBuilder::buildClassNameRefExp_nfi ( SgClassSymbol sym)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgClassNameRefExp* SageBuilder::buildClassNameRefExp ( SgClassSymbol sym)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFunctionCallExp* SageBuilder::buildFunctionCallExp_nfi ( SgExpression f,
SgExprListExp parameters = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgFunctionCallExp* SageBuilder::buildFunctionCallExp ( SgExpression f,
SgExprListExp parameters = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgTypeTraitBuiltinOperator* SageBuilder::buildTypeTraitBuiltinOperator ( SgName  functionName,
SgNodePtrList  parameters 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAssignInitializer* SageBuilder::buildAssignInitializer_nfi ( SgExpression operand_i = NULL,
SgType expression_type = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAggregateInitializer* SageBuilder::buildAggregateInitializer_nfi ( SgExprListExp initializers,
SgType type = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgCompoundInitializer* SageBuilder::buildCompoundInitializer_nfi ( SgExprListExp initializers,
SgType type = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgConstructorInitializer* SageBuilder::buildConstructorInitializer ( SgMemberFunctionDeclaration declaration,
SgExprListExp args,
SgType expression_type,
bool  need_name,
bool  need_qualifier,
bool  need_parenthesis_after_name,
bool  associated_class_unknown 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgConstructorInitializer* SageBuilder::buildConstructorInitializer_nfi ( SgMemberFunctionDeclaration declaration,
SgExprListExp args,
SgType expression_type,
bool  need_name,
bool  need_qualifier,
bool  need_parenthesis_after_name,
bool  associated_class_unknown 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgBracedInitializer* SageBuilder::buildBracedInitializer_nfi ( SgExprListExp initializers = NULL,
SgType expression_type = NULL 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgSizeOfOp* SageBuilder::buildSizeOfOp_nfi ( SgExpression exp)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgSizeOfOp* SageBuilder::buildSizeOfOp_nfi ( SgType type)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAlignOfOp* SageBuilder::buildAlignOfOp_nfi ( SgExpression exp)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgAlignOfOp* SageBuilder::buildAlignOfOp_nfi ( SgType type)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgNoexceptOp* SageBuilder::buildNoexceptOp_nfi ( SgExpression exp)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgFunctionParameterRefExp* SageBuilder::buildFunctionParameterRefExp ( int  parameter_number,
int  parameter_level 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgFunctionParameterRefExp* SageBuilder::buildFunctionParameterRefExp_nfi ( int  parameter_number,
int  parameter_level 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLambdaExp* SageBuilder::buildLambdaExp_nfi ( SgLambdaCaptureList lambda_capture_list,
SgClassDeclaration lambda_closure_class,
SgFunctionDeclaration lambda_function 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLambdaCapture* SageBuilder::buildLambdaCapture ( SgExpression capture_variable,
SgExpression source_closure_variable,
SgExpression closure_variable 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLambdaCapture* SageBuilder::buildLambdaCapture_nfi ( SgExpression capture_variable,
SgExpression source_closure_variable,
SgExpression closure_variable 
)

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLambdaCaptureList* SageBuilder::buildLambdaCaptureList ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgLambdaCaptureList* SageBuilder::buildLambdaCaptureList_nfi ( )

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

ROSE_DLL_API SgInitializedName* SageBuilder::buildInitializedName ( 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.

e.g the scope of arguments of functions are different for defining and nondefining functions.

ROSE_DLL_API SgInitializedName* SageBuilder::buildInitializedName ( 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.

e.g the scope of arguments of functions are different for defining and nondefining functions.

ROSE_DLL_API SgInitializedName* SageBuilder::buildInitializedName ( 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.

e.g the scope of arguments of functions are different for defining and nondefining functions.

ROSE_DLL_API SgInitializedName* SageBuilder::buildInitializedName_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.

e.g the scope of arguments of functions are different for defining and nondefining functions.

ROSE_DLL_API SgLabelStatement* SageBuilder::buildLabelStatement ( 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.

Note that the scope of a label statement is special. It is SgFunctionDefinition, not the closest scope statement such as SgBasicBlock.

ROSE_DLL_API SgTryStmt* SageBuilder::buildTryStmt ( SgBasicBlock try_body,
SgBasicBlock finally_body = NULL 
)

Build a try statement.

Build a try statement.

ROSE_DLL_API SgFile* SageBuilder::buildFile ( const std::string &  inputFileName,
const std::string &  outputFileName,
SgProject project = NULL 
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

SgSourceFile* SageBuilder::buildSourceFile ( const std::string &  outputFileName,
SgProject project = NULL 
)

Build a SgFile node and attach it to SgProject.

The file will be build with an empty global scope to support declarations being added.

ROSE_DLL_API SgEquivalenceStatement* SageBuilder::buildEquivalenceStatement ( SgExpression lhs,
SgExpression rhs 
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API void SageBuilder::fixupCopyOfNodeFromSeparateFileInNewTargetAst ( SgStatement insertionPoint,
bool  insertionPointIsScope,
SgNode node_copy,
SgNode node_original 
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgType* SageBuilder::getTargetFileTypeSupport ( SgType snippet_type,
SgScopeStatement targetScope 
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgType* SageBuilder::getTargetFileType ( SgType snippet_type,
SgScopeStatement targetScope 
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgSymbol* SageBuilder::findAssociatedSymbolInTargetAST ( SgDeclarationStatement snippet_declaration,
SgScopeStatement targetScope 
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgVarRefExp* SageBuilder::buildJavaArrayLengthVarRefExp ( )

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgScopeStatement* SageBuilder::buildScopeStatement ( SgClassDefinition = NULL)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaTypeExpression* SageBuilder::buildJavaTypeExpression ( SgType )

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaMarkerAnnotation* SageBuilder::buildJavaMarkerAnnotation ( SgType )

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaMemberValuePair* SageBuilder::buildJavaMemberValuePair ( const SgName ,
SgExpression  
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaSingleMemberAnnotation* SageBuilder::buildJavaSingleMemberAnnotation ( SgType ,
SgExpression  
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaNormalAnnotation* SageBuilder::buildJavaNormalAnnotation ( SgType )

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaNormalAnnotation* SageBuilder::buildJavaNormalAnnotation ( SgType ,
std::list< SgJavaMemberValuePair * > &   
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgInitializedName* SageBuilder::buildJavaFormalParameter ( SgType ,
const SgName ,
bool  is_var_args = false,
bool  is_final = false 
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaPackageStatement* SageBuilder::buildJavaPackageStatement ( std::string  )

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaImportStatement* SageBuilder::buildJavaImportStatement ( std::string  ,
bool   
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgClassDeclaration* SageBuilder::buildJavaDefiningClassDeclaration ( SgScopeStatement ,
std::string  ,
SgClassDeclaration::class_types  kind = SgClassDeclaration::e_class 
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgSourceFile* SageBuilder::buildJavaSourceFile ( SgProject ,
std::string  ,
SgClassDefinition ,
std::string   
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgArrayType* SageBuilder::getUniqueJavaArrayType ( SgType ,
int   
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaParameterizedType* SageBuilder::getUniqueJavaParameterizedType ( SgNamedType ,
SgTemplateParameterPtrList *   
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaQualifiedType* SageBuilder::getUniqueJavaQualifiedType ( SgClassDeclaration ,
SgNamedType ,
SgNamedType  
)

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaWildcardType* SageBuilder::getUniqueJavaWildcardUnbound ( )

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaWildcardType* SageBuilder::getUniqueJavaWildcardExtends ( SgType )

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

ROSE_DLL_API SgJavaWildcardType* SageBuilder::getUniqueJavaWildcardSuper ( SgType )

Build a SgFile node and attach it to SgProject.

The input file will be loaded if exists, or an empty one will be generated from scratch transparently. Output file name is used to specify the output file name of unparsing. The final SgFile will be inserted to project automatically. If not provided, a new SgProject will be generated internally. Using SgFile->get_project() to retrieve it in this case.

template<class T >
T* SageBuilder::buildUnaryExpression ( SgExpression operand)

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).

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

Definition at line 1519 of file sageBuilder.h.

References SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().

template<class T >
T* SageBuilder::buildUnaryExpression_nfi ( SgExpression operand)

Template function to build a unary expression of type T with no file info. 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).

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

Definition at line 1537 of file sageBuilder.h.

References SgNode::set_parent(), and SageInterface::setSourcePosition().

template<class T >
T* SageBuilder::buildBinaryExpression ( SgExpression lhs,
SgExpression rhs 
)
template<class T >
T* SageBuilder::buildBinaryExpression_nfi ( SgExpression lhs,
SgExpression rhs 
)