ROSE 0.11.145.192
Functions | Variables
SageBuilder Namespace Reference

Description

Functions that build an AST.

Functions

void initDiagnostics ()
 
template<class actualFunction >
actualFunction * buildNondefiningFunctionDeclaration_T (const SgName &name, SgType *return_type, SgFunctionParameterList *paralist, bool isMemberFunction, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, SgTemplateArgumentPtrList *templateArgumentsList, SgTemplateParameterPtrList *templateParameterList, SgStorageModifier::storage_modifier_enum sm)
 
template<class actualFunction >
actualFunction * buildDefiningFunctionDeclaration_T (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, bool isMemberFunction, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, actualFunction *first_nondefinng_declaration, SgTemplateArgumentPtrList *templateArgumentsList)
 A template function for function declaration builders.
 
template<class T >
ROSE_DLL_API void resetDeclaration (T *classDeclaration_copy, T *classDeclaration_original, SgScopeStatement *targetScope)
 Function to reset scopes in SgDeclarationStatement IR nodes.
 
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 SgTypeFloat80buildFloat80Type ()
 Built in simple types.
 
ROSE_DLL_API SgTypeFloat128buildFloat128Type ()
 Built in simple types.
 
ROSE_DLL_API SgTypeFixedbuildFixedType (SgExpression *fraction, SgExpression *scale)
 Build a Jovial fixed type with a fraction specifier and a scale specifier.
 
ROSE_DLL_API SgJovialBitTypebuildJovialBitType (SgExpression *size)
 Build a Jovial bit type of a given size.
 
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 SgTypeChar16buildChar16Type ()
 Built in simple types.
 
ROSE_DLL_API SgTypeChar32buildChar32Type ()
 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 SgAutoTypebuildAutoType ()
 Built in simple types.
 
ROSE_DLL_API SgTypeBoolbuildBoolType (SgExpression *kind_expr)
 Builder functions for primitive types with type size (kind) expressions.
 
ROSE_DLL_API SgTypeIntbuildIntType (SgExpression *kind_expr)
 Built in simple types.
 
ROSE_DLL_API SgTypeFloatbuildFloatType (SgExpression *kind_expr)
 Built in simple types.
 
ROSE_DLL_API SgTypeUnsignedIntbuildUnsignedIntType (SgExpression *kind_expr)
 Built in simple types.
 
ROSE_DLL_API SgTypebuildFortranImplicitType (SgName name)
 Build a type based on Fortran's implicit typing rules.
 
ROSE_DLL_API SgPointerTypebuildPointerType (SgType *base_type=nullptr)
 Build a pointer type.
 
ROSE_DLL_API SgReferenceTypebuildReferenceType (SgType *base_type=nullptr)
 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=nullptr)
 Build a modifier type.
 
ROSE_DLL_API SgModifierTypebuildConstType (SgType *base_type=nullptr)
 Build a const type.
 
ROSE_DLL_API SgModifierTypebuildAliasedType (SgType *base_type)
 Build an aliased type for Ada.
 
ROSE_DLL_API SgModifierTypebuildNotNullType (SgType *base_type)
 Build a not null type for Ada.
 
ROSE_DLL_API SgModifierTypebuildVolatileType (SgType *base_type=nullptr)
 Build a volatile type.
 
ROSE_DLL_API SgModifierTypebuildConstVolatileType (SgType *base_type=nullptr)
 Build a const volatile type.
 
ROSE_DLL_API SgModifierTypebuildRestrictType (SgType *base_type)
 Build a restrict type.
 
ROSE_DLL_API SgArrayTypebuildArrayType (SgType *base_type=nullptr, SgExpression *index=nullptr)
 Build ArrayType.
 
ROSE_DLL_API SgArrayTypebuildArrayType (SgType *base_type, SgExprListExp *dim_info)
 Build an ArrayType based on dimension information.
 
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=nullptr)
 Build function type from return type and parameter type list.
 
ROSE_DLL_API SgFunctionTypebuildFunctionType (SgType *return_type, SgFunctionParameterList *argList=nullptr)
 Build function type from return type and parameter list.
 
ROSE_DLL_API SgMemberFunctionTypebuildMemberFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList, SgScopeStatement *struct_name, unsigned int mfunc_specifier)
 Built in simple types.
 
ROSE_DLL_API SgMemberFunctionTypebuildMemberFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList, SgType *classType, unsigned int mfunc_specifier)
 DQ (8/19/2012): Refactored some of the code supporting construction of the SgMemberFunctionType.
 
ROSE_DLL_API SgPointerMemberTypebuildPointerMemberType (SgType *base_type, SgType *classType)
 Pei-Hung (06/30/2023): support for SgPointerMemberType.
 
ROSE_DLL_API SgClassTypebuildClassTemplateType (SgTemplateClassDeclaration *template_decl, std::vector< SgNode * > &template_args)
 Some support for building class template instantiation declarations.
 
ROSE_DLL_API SgClassTypebuildTemplateClassType (SgTemplateClassDeclaration *template_decl, std::vector< SgNode * > &template_args)
 Same as buildClassTemplateType(), just better name.
 
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.
 
ROSE_DLL_API SgModifierTypebuildUpcStrictType (SgType *base_type=nullptr)
 Build a UPC strict type.
 
ROSE_DLL_API SgModifierTypebuildUpcRelaxedType (SgType *base_type=nullptr)
 Build a UPC relaxed type.
 
ROSE_DLL_API SgModifierTypebuildUpcSharedType (SgType *base_type=nullptr, long layout=-1)
 Build a UPC shared type.
 
ROSE_DLL_API SgModifierTypebuildUpcBlockIndefiniteType (SgType *base_type=nullptr)
 Build a UPC shared[] type.
 
ROSE_DLL_API SgModifierTypebuildUpcBlockStarType (SgType *base_type=nullptr)
 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=nullptr)
 Build a complex type.
 
ROSE_DLL_API SgTypeImaginarybuildImaginaryType (SgType *base_type=nullptr)
 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.
 
ROSE_DLL_API SgNonrealTypebuildNonrealType (const SgName &name, SgDeclarationScope *scope)
 Build a non real type used for template parameter. Internally a SgNorealDecl is also built.
 
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 SgColonShapeExpbuildColonShapeExp ()
 Build a Fortran colon-shape expression, set file info as the default one.
 
ROSE_DLL_API SgColonShapeExpbuildColonShapeExp_nfi ()
 No file info version of buildColonShapeExp(). 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 SgVoidValbuildVoidVal ()
 DQ (2/14/2019): Adding support for C++14 void value expressions.
 
ROSE_DLL_API SgVoidValbuildVoidVal_nfi ()
 
ROSE_DLL_API SgWcharValbuildWcharVal (wchar_t value=0)
 
ROSE_DLL_API SgWcharValbuildWcharVal_nfi (wchar_t value, const std::string &str)
 
ROSE_DLL_API SgChar16ValbuildChar16Val (unsigned short value=0)
 
ROSE_DLL_API SgChar16ValbuildChar16Val_nfi (unsigned short value, const std::string &str)
 
ROSE_DLL_API SgChar32ValbuildChar32Val (unsigned int value=0)
 
ROSE_DLL_API SgChar32ValbuildChar32Val_nfi (unsigned int 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=0.0)
 
ROSE_DLL_API SgFloatValbuildFloatVal_nfi (float value, const std::string &str)
 
ROSE_DLL_API SgFloatValbuildFloatVal_nfi (const std::string &str)
 Build a float value expression by converting the string.
 
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=0)
 
ROSE_DLL_API SgIntValbuildIntVal_nfi (int value, const std::string &str)
 
ROSE_DLL_API SgIntValbuildIntVal_nfi (const std::string &str)
 Build an integer value expression by converting the string.
 
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 (long long int value, SgEnumDeclaration *decl, SgName name)
 
ROSE_DLL_API SgEnumValbuildEnumVal (long long 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 SgFloat80ValbuildFloat80Val (long double value=0.0)
 
ROSE_DLL_API SgFloat80ValbuildFloat80Val_nfi (long double value, const std::string &str)
 
ROSE_DLL_API SgFloat128ValbuildFloat128Val (long double value=0.0)
 
ROSE_DLL_API SgFloat128ValbuildFloat128Val_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 SgJovialBitVal * buildJovialBitVal_nfi (const std::string &str)
 Build a Jovial bit value expression.
 
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="")
 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 SgNonrealDeclbuildNonrealDecl (const SgName &name, SgDeclarationScope *scope, SgDeclarationScope *child_scope=NULL)
 Build a declaration of a non-real class or class-member representing template parameters and their members.
 
ROSE_DLL_API SgNonrealRefExpbuildNonrealRefExp_nfi (SgNonrealSymbol *sym)
 Build a reference to the non-real declaration of a member of a non-real class.
 
ROSE_DLL_API SgUpcThreadsbuildUpcThreads ()
 Build UPC THREADS (integer expression)
 
ROSE_DLL_API SgUpcThreadsbuildUpcThreads_nfi ()
 Build UPC THREADS (integer expression)
 
ROSE_DLL_API SgUpcMythreadbuildUpcMythread ()
 Build UPC MYTHREAD (integer expression)
 
ROSE_DLL_API SgUpcMythreadbuildUpcMythread_nfi ()
 Build UPC MYTHREAD (integer expression)
 
ROSE_DLL_API SgThisExpbuildThisExp (SgSymbol *sym)
 Build this pointer.
 
ROSE_DLL_API SgThisExpbuildThisExp_nfi (SgSymbol *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 SgAbsOpbuildAbsOp (SgExpression *op=NULL)
 
ROSE_DLL_API SgAbsOpbuildAbsOp_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 SgAtOpbuildAtOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgAtOpbuildAtOp_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 SgRemOpbuildRemOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgRemOpbuildRemOp_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 SgReplicationOpbuildReplicationOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgReplicationOpbuildReplicationOp_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 SgSpaceshipOpbuildSpaceshipOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 
ROSE_DLL_API SgSpaceshipOpbuildSpaceshipOp_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)
 
SgSubscriptExpressionbuildSubscriptExpression_nfi (SgExpression *lower_bound, SgExpression *upper_bound, SgExpression *stride)
 Build a SgSubscriptExpression, used for array shape expressions. The lower bound and stride may be nullptrs.
 
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 the name in the symbol table internally starting from scope. A variable name is unique so type can be inferred (double check this).
 
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.
 
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();.
 
SgCompoundLiteralExpbuildCompoundLiteralExp_nfi (SgVariableSymbol *varSymbol)
 Build function for compound literals (uses a SgVariableSymbol and is similar to buildVarRefExp_nfi()).
 
SgCompoundLiteralExpbuildCompoundLiteralExp (SgVariableSymbol *varSymbol)
 Build function for compound literals (uses a SgVariableSymbol and is similar to buildVarRefExp()).
 
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.
 
ROSE_DLL_API SgFunctionCallExpbuildMemberFunctionCall (std::string className, SgExpression *objectExpression, std::string functionName, SgExprListExp *params, SgScopeStatement *scope)
 Build member function calls.
 
ROSE_DLL_API SgFunctionCallExpbuildMemberFunctionCall (SgExpression *objectExpression, SgMemberFunctionSymbol *functionSymbol, SgExprListExp *params)
 Build member function calls. objectExpression: the variable reference expression to an object of template class instantiation: vector<int> var1;.
 
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)
 Build an aggregate initializer.
 
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)
 Build a compound initializer, for vector type initialization.
 
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)
 Build sizeof() expression with an expression parameter.
 
ROSE_DLL_API SgSizeOfOpbuildSizeOfOp (SgType *type=NULL)
 Build sizeof() expression with a type parameter.
 
ROSE_DLL_API SgSizeOfOpbuildSizeOfOp_nfi (SgType *type)
 Build sizeof() expression with a type parameter.
 
ROSE_DLL_API SgAlignOfOpbuildAlignOfOp (SgExpression *exp=NULL)
 Build alignof() expression with an expression parameter.
 
ROSE_DLL_API SgAlignOfOpbuildAlignOfOp_nfi (SgExpression *exp)
 Build alignof() expression with an expression parameter.
 
ROSE_DLL_API SgAlignOfOpbuildAlignOfOp (SgType *type=NULL)
 Build alignof() expression with a type parameter.
 
ROSE_DLL_API SgAlignOfOpbuildAlignOfOp_nfi (SgType *type)
 Build alignof() expression with a type parameter.
 
ROSE_DLL_API SgNoexceptOpbuildNoexceptOp (SgExpression *exp=NULL)
 Build noexcept operator expression with an expression parameter.
 
ROSE_DLL_API SgNoexceptOpbuildNoexceptOp_nfi (SgExpression *exp)
 Build noexcept operator expression with an expression parameter.
 
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 ()
 
ROSE_DLL_API SgFoldExpressionbuildFoldExpression (SgExpression *operands, std::string operator_token_string, bool is_left_associative)
 
ROSE_DLL_API SgFoldExpressionbuildFoldExpression_nfi (SgExpression *operands, std::string operator_token_string, bool is_left_associative)
 
ROSE_DLL_API SgAwaitExpressionbuildAwaitExpression ()
 
ROSE_DLL_API SgAwaitExpressionbuildAwaitExpression_nfi ()
 
ROSE_DLL_API SgChooseExpressionbuildChooseExpression ()
 
ROSE_DLL_API SgChooseExpressionbuildChooseExpression_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 Ada nodes
ROSE_DLL_API SgRangeExpbuildRangeExp (SgExpression *start, SgExpression *end, SgExpression *stride)
 
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.
 
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.
 
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.
 
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.
 
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, bool builtFromUseOnly=false, SgStorageModifier::storage_modifier_enum sm=SgStorageModifier::e_default)
 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 SgTemplateVariableDeclarationbuildTemplateVariableDeclaration (const SgName &name, SgType *type, SgInitializer *varInit, SgScopeStatement *scope)
 Build template variable declarations.
 
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 typedef declaration, such as: typedef int myint;.
 
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 &templateArgumentsList)
 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.
 
SgCtorInitializerListbuildCtorInitializerList_nfi ()
 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=NULL, SgExprListExp *decoratorList=NULL, bool buildTemplateInstantiation=false, SgTemplateArgumentPtrList *templateArgumentsList=NULL, SgStorageModifier::storage_modifier_enum sm=SgStorageModifier::e_default)
 Build a prototype for a function, handle function type, symbol etc 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 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 SgMemberFunctionDeclarationbuildDefaultConstructor (SgClassType *classType)
 Build a variable declaration, handle symbol table transparently.
 
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 SgProcedureHeaderStatementbuildNondefiningProcedureHeaderStatement (const SgName &name, SgType *return_type, SgFunctionParameterList *param_list, SgProcedureHeaderStatement::subprogram_kind_enum, SgScopeStatement *scope=NULL)
 Build a nondefining SgProcedureHeaderStatement, handle function type, symbol etc transparently.
 
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.
 
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.
 
SgGotoStatementbuildGotoStatement_nfi (SgExpression *expr)
 Build a goto statement from a label expression, supporting only C/C++ and not 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 SgFortranDobuildFortranDo (SgExpression *initialization, SgExpression *bound, SgExpression *increment, SgBasicBlock *)
 Build a Fortran do construct.
 
ROSE_DLL_API SgFortranDobuildFortranDo_nfi (SgExpression *initialization, SgExpression *bound, SgExpression *increment, SgBasicBlock *)
 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)
 Based on the contribution from Pradeep Srinivasa@ LANL.
 
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 SgRangeBasedForStatementbuildRangeBasedForStatement_nfi (SgVariableDeclaration *initializer, SgVariableDeclaration *range, SgVariableDeclaration *begin_declaration, SgVariableDeclaration *end_declaration, SgExpression *not_equal_expression, SgExpression *increment_expression, SgStatement *body)
 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 SgEmptyDeclarationbuildEmptyDeclaration ()
 Build an empty declaration (useful for adding precission to comments and CPP handling under token-based unparsing).
 
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.
 
SgBasicBlockbuildBasicBlock_nfi (SgScopeStatement *parent)
 Build a SgBasicBlock and set its parent. This function does NOT link the parent scope to the block.
 
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 SgFortranContinueStmtbuildFortranContinueStmt ()
 Build a Fortran continue statement.
 
SgFortranContinueStmtbuildFortranContinueStmt_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 SgDeclarationScopebuildDeclarationScope ()
 Build a scope statement. Used to build SgNonrealDecl and SgNonrealType.
 
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)
 DQ (11/29/2011): Adding template declaration support to the AST.
 
ROSE_DLL_API SgTemplateClassDeclarationbuildNondefiningTemplateClassDeclaration (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgTemplateParameterPtrList *templateParameterList, SgTemplateArgumentPtrList *templateSpecializationArgumentList)
 buildNondefiningTemplateClassDeclaration()
 
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)
 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 SgNamespaceAliasDeclarationStatementbuildNamespaceAliasDeclarationStatement (const SgName &name, SgNamespaceDeclarationStatement *namespaceDeclaration)
 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 SgTemplateClassDeclarationbuildTemplateClassDeclaration (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgTemplateClassDeclaration *nonDefiningDecl, SgTemplateParameterPtrList *templateParameterList, SgTemplateArgumentPtrList *templateSpecializationArgumentList)
 Build tempplate class declaration.
 
ROSE_DLL_API SgJovialDefineDeclarationbuildJovialDefineDeclaration_nfi (const SgName &name, const std::string &params, const std::string &def_string, SgScopeStatement *scope=NULL)
 Build a Jovial define directive declaration statement.
 
ROSE_DLL_API SgJovialForThenStatementbuildJovialForThenStatement_nfi ()
 Build a Jovial loop statement.
 
ROSE_DLL_API SgDerivedTypeStatementbuildDerivedTypeStatement (const SgName &name, SgScopeStatement *scope=NULL)
 Build an SgDerivedTypeStatement Fortran derived type declaration with a class declaration and definition (creating both the defining and nondefining declarations as required).
 
ROSE_DLL_API SgModuleStatementbuildModuleStatement (const SgName &name, SgScopeStatement *scope)
 Build a Fortran module declaration.
 
ROSE_DLL_API SgJovialTableStatementbuildJovialTableStatement (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope=NULL)
 Build a Jovial table declaration statement.
 
ROSE_DLL_API SgJovialTableTypebuildJovialTableType (const SgName &name, SgType *base_type, SgExprListExp *dim_info, SgScopeStatement *scope=NULL)
 Build a Jovial table type with required class definition and defining and nondefining declarations.
 
template<class DeclClass >
ROSE_DLL_API DeclClass * buildClassDeclarationStatement_nfi (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope=NULL, SgClassDeclaration *nonDefiningDecl=NULL)
 Build a generic class declaration statement (SgClassDeclaration or subclass) with a class declaration and definition (creating both the defining and nondefining declarations as required.
 
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 return statement.
 
ROSE_DLL_API SgNullStatementbuildNullStatement ()
 Build a NULL statement.
 
SgNullStatementbuildNullStatement_nfi ()
 Build a NULL statement.
 
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.
 
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 an exec stmt.
 
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 an asm statement.
 
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.
 
ROSE_DLL_API SgBaseClassbuildBaseClass (SgClassDeclaration *classDeclaration, SgClassDefinition *classDefinition, bool isVirtual, bool isDirect)
 DQ (5/6/2013): Added build functions to support SgBaseClass construction.
 
ROSE_DLL_API SgNonrealBaseClassbuildNonrealBaseClass (SgNonrealDecl *classDeclaration, SgClassDefinition *classDefinition, bool isVirtual, bool isDirect)
 Build a variable declaration, handle symbol table transparently.
 
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.
 
ROSE_DLL_API SgUsingDirectiveStatementbuildUsingDirectiveStatement (SgNamespaceDeclarationStatement *ns_decl)
 Build a using directive statement.
 
Builders for others

AST high level builders for others

ROSE_DLL_API SgFilebuildFile (const std::string &inputFileName, const std::string &outputFileName, SgProject *project=NULL, bool clear_globalScopeAcrossFiles=false)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgSourceFilebuildSourceFile (const std::string &outputFileName, SgProject *project=NULL, bool clear_globalScopeAcrossFiles=false)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgSourceFilebuildSourceFile (const std::string &inputFileName, const std::string &outputFileName, SgProject *project, bool clear_globalScopeAcrossFiles=false)
 Build a SgSourceFile node and attach it to SgProject.
 
ROSE_DLL_API void fixupSourcePositionFileSpecification (SgNode *subtreeRoot, const std::string &newFileName)
 Change the source file associated with the source position information in the AST.
 
ROSE_DLL_API void fixupSharingSourcePosition (SgNode *subtreeRoot, int new_file_id)
 Sharing IR nodes requires that the file id be added to the fileIDsToUnparse held in the Sg_File_Info object.
 
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 PreprocessingInfobuildHeader (const std::string &header_filename, PreprocessingInfo::RelativePositionType position=PreprocessingInfo::before, bool isSystemHeader=false)
 Build a dangling #include "x.h" header, insertHeader() is needed to actually insert it.
 
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.
 
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.
 
ROSE_DLL_API SgTypegetTargetFileTypeSupport (SgType *snippet_type, SgScopeStatement *targetScope)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgTypegetTargetFileType (SgType *snippet_type, SgScopeStatement *targetScope)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgSymbolfindAssociatedSymbolInTargetAST (SgDeclarationStatement *snippet_declaration, SgScopeStatement *targetScope)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgDeclarationStatementfindAssociatedDeclarationInTargetAST (SgDeclarationStatement *snippet_declaration, SgScopeStatement *targetScope)
 Build a SgFile node and attach it to SgProject.
 
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.
 
ROSE_DLL_API SgScopeStatementbuildScopeStatement (SgClassDefinition *=NULL)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaTypeExpressionbuildJavaTypeExpression (SgType *)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaMarkerAnnotationbuildJavaMarkerAnnotation (SgType *)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaMemberValuePairbuildJavaMemberValuePair (const SgName &, SgExpression *)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaSingleMemberAnnotationbuildJavaSingleMemberAnnotation (SgType *, SgExpression *)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaNormalAnnotationbuildJavaNormalAnnotation (SgType *)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaNormalAnnotationbuildJavaNormalAnnotation (SgType *, std::list< SgJavaMemberValuePair * > &)
 Build a SgFile node and attach it to SgProject.
 
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.
 
ROSE_DLL_API SgJavaPackageStatementbuildJavaPackageStatement (std::string)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaImportStatementbuildJavaImportStatement (std::string, bool)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgClassDeclarationbuildJavaDefiningClassDeclaration (SgScopeStatement *, std::string, SgClassDeclaration::class_types kind=SgClassDeclaration::e_class)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgSourceFilebuildJavaSourceFile (SgProject *, std::string, SgClassDefinition *, std::string)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgArrayTypegetUniqueJavaArrayType (SgType *, int)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaParameterizedTypegetUniqueJavaParameterizedType (SgNamedType *, SgTemplateParameterPtrList *)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaQualifiedTypegetUniqueJavaQualifiedType (SgClassDeclaration *, SgNamedType *, SgNamedType *)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaWildcardTypegetUniqueJavaWildcardUnbound ()
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaWildcardTypegetUniqueJavaWildcardExtends (SgType *)
 Build a SgFile node and attach it to SgProject.
 
ROSE_DLL_API SgJavaWildcardTypegetUniqueJavaWildcardSuper (SgType *)
 Build a SgFile node and attach it to SgProject.
 
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.

All untyped IR nodes have been removed and this interface removed. Ultimately it proved easier to construct regular IR nodes from the Jovial parser. Using the untyped system just led to an unnecessary step and wasted effort.

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).
 
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).
 
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(),buildAtOp, 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(),buildReplicationOp,buildScopeOp(),buildSubtractOp()buildXorAssignOp()
 
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(),buildAtOp, 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(),buildReplicationOp(),buildScopeOp(),buildSubtractOp()buildXorAssignOp()
 

Variables

Sawyer::Message::Facility mlog
 

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.

enum  SourcePositionClassification {
  e_sourcePositionError ,
  e_sourcePositionDefault ,
  e_sourcePositionTransformation ,
  e_sourcePositionCompilerGenerated ,
  e_sourcePositionNullPointers ,
  e_sourcePositionFrontendConstruction ,
  e_sourcePosition_last
}
 intended to be a private member, don't access it directly. could be changed any time More...
 
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 = false
 Support for construction of case sensitive/insensitive symbol table handling in scopes.
 
SourcePositionClassification SourcePositionClassificationMode = SageBuilder::e_sourcePositionTransformation
 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).
 
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
 
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.
 
SgName unparseTemplateArgumentToString (SgTemplateArgument *templateArgument)
 DQ (3/9/2018): Added to support debugging.
 

Enumeration Type Documentation

◆ SourcePositionClassification

intended to be a private member, don't access it directly. could be changed any time

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

◆ initDiagnostics()

void SageBuilder::initDiagnostics ( )

Definition at line 60 of file sageBuilder.C.

◆ pushScopeStack()

void SageBuilder::pushScopeStack ( SgScopeStatement stmt)

Public interfaces of the scope stack, should be stable.

Definition at line 359 of file sageBuilder.C.

References ScopeStack.

◆ popScopeStack()

void SageBuilder::popScopeStack ( )

intended to be a private member, don't access it directly. could be changed any time

Definition at line 365 of file sageBuilder.C.

References ScopeStack.

◆ topScopeStack()

SgScopeStatement * SageBuilder::topScopeStack ( )

intended to be a private member, don't access it directly. could be changed any time

Definition at line 371 of file sageBuilder.C.

References SgScopeStatement::class_name(), and ScopeStack.

Referenced by SageInterface::appendStatement(), buildClassDeclaration_nfi(), buildDefiningFunctionDeclaration(), buildDefiningFunctionDeclaration_T(), buildDefiningMemberFunctionDeclaration(), buildEmptyDeclaration(), buildEnumDeclaration(), buildFunctionCallExp(), buildFunctionCallStmt(), buildFunctionRefExp(), buildFunctionRefExp(), buildJovialDefineDeclaration_nfi(), buildLabelStatement(), buildNamespaceAliasDeclarationStatement(), buildNamespaceDeclaration_nfi(), buildNondefiningClassDeclaration_nfi(), buildNondefiningProcedureHeaderStatement(), buildNondefiningTemplateClassDeclaration_nfi(), buildOpaqueVarRefExp(), buildPragmaDeclaration(), buildProcedureHeaderStatement(), buildStructDeclaration(), buildTemplateClassDeclaration_nfi(), buildTemplateTypedefDeclaration_nfi(), buildTypedefDeclaration_nfi(), buildVariableDeclaration(), buildVariableDeclaration_nfi(), buildVarRefExp(), buildVarRefExp(), SageInterface::fixVariableDeclaration(), SageInterface::insertHeader(), SageInterface::lookupClassSymbolInParentScopes(), SageInterface::lookupEnumSymbolInParentScopes(), SageInterface::lookupFunctionSymbolInParentScopes(), SageInterface::lookupFunctionSymbolInParentScopes(), SageInterface::lookupNamedTypeInParentScopes(), SageInterface::lookupNamespaceSymbolInParentScopes(), SageInterface::lookupNonrealSymbolInParentScopes(), SageInterface::lookupSymbolInParentScopes(), SageInterface::lookupSymbolInParentScopesIgnoringAliasSymbols(), SageInterface::lookupTemplateClassSymbolInParentScopes(), SageInterface::lookupTemplateFunctionSymbolInParentScopes(), SageInterface::lookupTemplateMemberFunctionSymbolInParentScopes(), SageInterface::lookupTemplateVariableSymbolInParentScopes(), SageInterface::lookupTypedefSymbolInParentScopes(), SageInterface::lookupVariableSymbolInParentScopes(), and SageInterface::prependStatement().

◆ emptyScopeStack()

bool SageBuilder::emptyScopeStack ( )

intended to be a private member, don't access it directly. could be changed any time

Definition at line 404 of file sageBuilder.C.

References ScopeStack.

◆ clearScopeStack()

void SageBuilder::clearScopeStack ( )

intended to be a private member, don't access it directly. could be changed any time

Definition at line 409 of file sageBuilder.C.

References ScopeStack.

◆ getGlobalScopeFromScopeStack()

SgScopeStatement * SageBuilder::getGlobalScopeFromScopeStack ( )

Support to retrive the SgGlobal from the internal scope stack (error if not present in a non-empty list, return null for empty list).

Definition at line 389 of file sageBuilder.C.

References ScopeStack.

◆ inSwitchScope()

bool SageBuilder::inSwitchScope ( )

intended to be a private member, don't access it directly. could be changed any time

Definition at line 414 of file sageBuilder.C.

References ScopeStack.

◆ getSourcePositionClassificationMode()

SageBuilder::SourcePositionClassification SageBuilder::getSourcePositionClassificationMode ( )

Get the current source position classification (defines how IR nodes built by the SageBuilder interface will be classified).

Definition at line 190 of file sageBuilder.C.

References SourcePositionClassificationMode.

Referenced by SageInterface::appendStatement(), SageInterface::insertStatement(), SageInterface::prependStatement(), and SageInterface::setSourcePosition().

◆ display()

string SageBuilder::display ( SourcePositionClassification scp)

◆ setSourcePositionClassificationMode()

void SageBuilder::setSourcePositionClassificationMode ( SageBuilder::SourcePositionClassification  X)

Set the current source position classification (defines how IR nodes built by the SageBuilder interface will be classified).

Definition at line 197 of file sageBuilder.C.

References SourcePositionClassificationMode.

◆ appendTemplateArgumentsToName()

SgName SageBuilder::appendTemplateArgumentsToName ( const SgName name,
const SgTemplateArgumentPtrList &  templateArgumentsList 
)

◆ unparseTemplateArgumentToString()

SgName SageBuilder::unparseTemplateArgumentToString ( SgTemplateArgument templateArgument)

DQ (3/9/2018): Added to support debugging.

Definition at line 760 of file sageBuilder.C.

References SgFile::e_Cxx_language, and SgNode::unparseToString().

Referenced by buildNondefiningClassDeclaration_nfi().

◆ buildBoolType() [1/2]

SgTypeBool * SageBuilder::buildBoolType ( )

Built in simple types.

Definition at line 8611 of file sageBuilder.C.

References buildBoolType().

Referenced by buildBoolType(), and SageInterface::replaceExpressionWithStatement().

◆ buildNullptrType()

SgTypeNullptr * SageBuilder::buildNullptrType ( )

Built in simple types.

Definition at line 8615 of file sageBuilder.C.

References SgTypeNullptr::createType().

◆ buildCharType()

SgTypeChar * SageBuilder::buildCharType ( )

Built in simple types.

Definition at line 8622 of file sageBuilder.C.

References SgTypeChar::createType().

◆ buildDoubleType()

SgTypeDouble * SageBuilder::buildDoubleType ( )

Built in simple types.

Definition at line 8892 of file sageBuilder.C.

References SgTypeDouble::createType().

◆ buildFloatType() [1/2]

SgTypeFloat * SageBuilder::buildFloatType ( )

Built in simple types.

Definition at line 8915 of file sageBuilder.C.

References SgTypeFloat::createType().

◆ buildIntType() [1/2]

SgTypeInt * SageBuilder::buildIntType ( )

◆ buildLongType()

SgTypeLong * SageBuilder::buildLongType ( )

Built in simple types.

Definition at line 8836 of file sageBuilder.C.

References SgTypeLong::createType().

◆ buildLongDoubleType()

SgTypeLongDouble * SageBuilder::buildLongDoubleType ( )

Built in simple types.

Definition at line 8672 of file sageBuilder.C.

References SgTypeLongDouble::createType().

◆ buildLongLongType()

SgTypeLongLong * SageBuilder::buildLongLongType ( )

Built in simple types.

Definition at line 8665 of file sageBuilder.C.

References SgTypeLongLong::createType().

◆ buildShortType()

SgTypeShort * SageBuilder::buildShortType ( )

Built in simple types.

Definition at line 8822 of file sageBuilder.C.

References SgTypeShort::createType().

◆ buildFloat80Type()

SgTypeFloat80 * SageBuilder::buildFloat80Type ( )

Built in simple types.

Definition at line 8713 of file sageBuilder.C.

References SgTypeFloat80::createType().

◆ buildFloat128Type()

SgTypeFloat128 * SageBuilder::buildFloat128Type ( )

Built in simple types.

Definition at line 8719 of file sageBuilder.C.

References SgTypeFloat128::createType().

◆ buildFixedType()

SgTypeFixed * SageBuilder::buildFixedType ( SgExpression fraction,
SgExpression scale 
)

Build a Jovial fixed type with a fraction specifier and a scale specifier.

Definition at line 8923 of file sageBuilder.C.

References SgTypeFixed::createType(), and SgNode::set_parent().

◆ buildJovialBitType()

SgJovialBitType * SageBuilder::buildJovialBitType ( SgExpression size)

Build a Jovial bit type of a given size.

Definition at line 8935 of file sageBuilder.C.

References SgJovialBitType::createType(), and SgNode::set_parent().

◆ buildStringType() [1/2]

SgTypeString * SageBuilder::buildStringType ( )

DQ (8/21/2010): We want to move to the new buildStringType( SgExpression*,size_t) function over the older buildStringType() function.

Definition at line 8843 of file sageBuilder.C.

◆ buildStringType() [2/2]

SgTypeString * SageBuilder::buildStringType ( SgExpression stringLengthExpression)

Built in simple types.

Definition at line 8855 of file sageBuilder.C.

◆ buildVoidType()

SgTypeVoid * SageBuilder::buildVoidType ( )

Built in simple types.

Definition at line 8801 of file sageBuilder.C.

References SgTypeVoid::createType().

Referenced by buildDefaultConstructor(), and buildProcedureHeaderStatement().

◆ buildWcharType()

SgTypeWchar * SageBuilder::buildWcharType ( )

Built in simple types.

Definition at line 8770 of file sageBuilder.C.

References SgTypeWchar::createType().

◆ buildChar16Type()

SgTypeChar16 * SageBuilder::buildChar16Type ( )

Built in simple types.

Definition at line 8778 of file sageBuilder.C.

References SgTypeChar16::createType().

◆ buildChar32Type()

SgTypeChar32 * SageBuilder::buildChar32Type ( )

Built in simple types.

Definition at line 8786 of file sageBuilder.C.

References SgTypeChar32::createType().

◆ buildSignedCharType()

SgTypeSignedChar * SageBuilder::buildSignedCharType ( )

Built in simple types.

Definition at line 8794 of file sageBuilder.C.

References SgTypeSignedChar::createType().

◆ buildSignedIntType()

SgTypeSignedInt * SageBuilder::buildSignedIntType ( )

Built in simple types.

Definition at line 8725 of file sageBuilder.C.

References SgTypeSignedInt::createType().

◆ buildSignedLongType()

SgTypeSignedLong * SageBuilder::buildSignedLongType ( )

Built in simple types.

Definition at line 8739 of file sageBuilder.C.

References SgTypeSignedLong::createType().

◆ buildSignedLongLongType()

SgTypeSignedLongLong * SageBuilder::buildSignedLongLongType ( )

Built in simple types.

Definition at line 8746 of file sageBuilder.C.

References SgTypeSignedLongLong::createType().

◆ buildSignedShortType()

SgTypeSignedShort * SageBuilder::buildSignedShortType ( )

Built in simple types.

Definition at line 8706 of file sageBuilder.C.

References SgTypeSignedShort::createType().

◆ buildSigned128bitIntegerType()

SgTypeSigned128bitInteger * SageBuilder::buildSigned128bitIntegerType ( )

Built in simple types.

Definition at line 8754 of file sageBuilder.C.

References SgTypeSigned128bitInteger::createType().

◆ buildUnsigned128bitIntegerType()

SgTypeUnsigned128bitInteger * SageBuilder::buildUnsigned128bitIntegerType ( )

Built in simple types.

Definition at line 8761 of file sageBuilder.C.

References SgTypeUnsigned128bitInteger::createType().

◆ buildUnsignedCharType()

SgTypeUnsignedChar * SageBuilder::buildUnsignedCharType ( )

Built in simple types.

Definition at line 8732 of file sageBuilder.C.

References SgTypeUnsignedChar::createType().

◆ buildUnsignedIntType() [1/2]

SgTypeUnsignedInt * SageBuilder::buildUnsignedIntType ( )

Built in simple types.

Definition at line 8701 of file sageBuilder.C.

References buildUnsignedIntType().

Referenced by buildUnsignedIntType().

◆ buildUnsignedLongType()

SgTypeUnsignedLong * SageBuilder::buildUnsignedLongType ( )

Built in simple types.

Definition at line 8686 of file sageBuilder.C.

References SgTypeUnsignedLong::createType().

◆ buildUnsignedLongLongType()

SgTypeUnsignedLongLong * SageBuilder::buildUnsignedLongLongType ( )

Built in simple types.

Definition at line 8679 of file sageBuilder.C.

References SgTypeUnsignedLongLong::createType().

◆ buildUnsignedShortType()

SgTypeUnsignedShort * SageBuilder::buildUnsignedShortType ( )

Built in simple types.

Definition at line 8829 of file sageBuilder.C.

References SgTypeUnsignedShort::createType().

◆ buildUnknownType()

SgTypeUnknown * SageBuilder::buildUnknownType ( )

Built in simple types.

Definition at line 8808 of file sageBuilder.C.

References SgTypeUnknown::createType().

◆ buildAutoType()

SgAutoType * SageBuilder::buildAutoType ( )

Built in simple types.

Definition at line 8815 of file sageBuilder.C.

◆ buildBoolType() [2/2]

SgTypeBool * SageBuilder::buildBoolType ( SgExpression kind_expr)

Builder functions for primitive types with type size (kind) expressions.

Definition at line 8605 of file sageBuilder.C.

References SgTypeBool::createType(), and SgNode::set_parent().

◆ buildIntType() [2/2]

SgTypeInt * SageBuilder::buildIntType ( SgExpression kind_expr)

Built in simple types.

Definition at line 8872 of file sageBuilder.C.

References SgTypeInt::createType(), and SgNode::set_parent().

◆ buildFloatType() [2/2]

SgTypeFloat * SageBuilder::buildFloatType ( SgExpression kind_expr)

Built in simple types.

Definition at line 8900 of file sageBuilder.C.

References SgTypeFloat::createType(), and SgNode::set_parent().

◆ buildUnsignedIntType() [2/2]

SgTypeUnsignedInt * SageBuilder::buildUnsignedIntType ( SgExpression kind_expr)

Built in simple types.

Definition at line 8694 of file sageBuilder.C.

References SgTypeUnsignedInt::createType(), and SgNode::set_parent().

◆ buildFortranImplicitType()

ROSE_DLL_API SgType * SageBuilder::buildFortranImplicitType ( SgName  name)

Build a type based on Fortran's implicit typing rules.

Currently this interface does not take into account possible implicit statements that change the rules.

◆ buildPointerType()

SgPointerType * SageBuilder::buildPointerType ( SgType base_type = nullptr)

Build a pointer type.

Build a statement from an arbitrary string, used for irregular statements with macros, platform-specified attributes etc.

Definition at line 8422 of file sageBuilder.C.

References SgPointerType::createType().

Referenced by SageInterface::createTempVariableAndReferenceForExpression(), SageInterface::createTempVariableForExpression(), fixupCopyOfNodeFromSeparateFileInNewTargetAst(), and getTargetFileType().

◆ buildReferenceType()

SgReferenceType * SageBuilder::buildReferenceType ( SgType base_type = nullptr)

Build a reference type.

Definition at line 8442 of file sageBuilder.C.

References SgReferenceType::createType().

Referenced by SageInterface::createTempVariableForExpression().

◆ buildRvalueReferenceType()

SgRvalueReferenceType * SageBuilder::buildRvalueReferenceType ( SgType base_type)

Build a rvalue reference type.

Definition at line 8456 of file sageBuilder.C.

References SgRvalueReferenceType::createType().

◆ buildDeclType()

SgDeclType * SageBuilder::buildDeclType ( SgExpression base_expression,
SgType base_type 
)

Build a decltype reference type.

Definition at line 8465 of file sageBuilder.C.

References SgDeclType::createType(), and SgNode::set_parent().

◆ buildTypeOfType()

SgTypeOfType * SageBuilder::buildTypeOfType ( SgExpression base_expression,
SgType base_type 
)

Build a GNU typeof operator.

Definition at line 8490 of file sageBuilder.C.

References SgType::class_name(), SgExpression::class_name(), SgTypeOfType::createType(), and SgNode::set_parent().

◆ buildModifierType()

SgModifierType * SageBuilder::buildModifierType ( SgType base_type = nullptr)

Build a modifier type.

Definition at line 8946 of file sageBuilder.C.

References SgModifierType::class_name().

◆ buildConstType()

SgModifierType * SageBuilder::buildConstType ( SgType base_type = nullptr)

Build a const type.

Build a constant type.

Definition at line 8977 of file sageBuilder.C.

References SgModifierType::get_typeModifier().

Referenced by fixupCopyOfNodeFromSeparateFileInNewTargetAst(), and getTargetFileType().

◆ buildAliasedType()

SgModifierType * SageBuilder::buildAliasedType ( SgType base_type)

Build an aliased type for Ada.

Precondition
base_type != nullptr
Postcondition
result != nullptr

Definition at line 9225 of file sageBuilder.C.

References SgModifierType::get_typeModifier().

◆ buildNotNullType()

SgModifierType * SageBuilder::buildNotNullType ( SgType base_type)

Build a not null type for Ada.

Precondition
base_type != nullptr
Postcondition
result != nullptr

Definition at line 9232 of file sageBuilder.C.

References SgModifierType::get_typeModifier().

◆ buildVolatileType()

SgModifierType * SageBuilder::buildVolatileType ( SgType base_type = nullptr)

Build a volatile type.

Definition at line 9036 of file sageBuilder.C.

References SgType::class_name(), SgModifierType::class_name(), and SgModifierType::get_typeModifier().

◆ buildConstVolatileType()

SgModifierType * SageBuilder::buildConstVolatileType ( SgType base_type = nullptr)

Build a const volatile type.

Definition at line 9069 of file sageBuilder.C.

References SgType::class_name(), SgModifierType::class_name(), and SgModifierType::get_typeModifier().

◆ buildRestrictType()

SgModifierType * SageBuilder::buildRestrictType ( SgType base_type)

Build a restrict type.

Definition at line 9162 of file sageBuilder.C.

References SgType::class_name(), SgModifierType::class_name(), and SgModifierType::get_typeModifier().

◆ buildArrayType() [1/2]

SgArrayType * SageBuilder::buildArrayType ( SgType base_type = nullptr,
SgExpression index = nullptr 
)

Build ArrayType.

Definition at line 5381 of file sageBuilder.C.

References SgNode::set_parent().

Referenced by buildArrayType().

◆ buildArrayType() [2/2]

SgArrayType * SageBuilder::buildArrayType ( SgType base_type,
SgExprListExp dim_info 
)

Build an ArrayType based on dimension information.

Note, the index member variable will be set to a NullExpression.

Parameters
base_typeThe base type of the array. Note that if the base type is itself an array type, the shape of the array may be changed.
dim_infoA list of expressions describing the shape of the array. The rank of the array is set from the length of this list.

Definition at line 5352 of file sageBuilder.C.

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

◆ buildFortranKindType()

SgModifierType * SageBuilder::buildFortranKindType ( SgType base_type,
SgExpression kindExpression 
)

Build a type based on the Fortran kind mechanism.

Definition at line 9005 of file sageBuilder.C.

References SgType::class_name(), and SgModifierType::class_name().

◆ buildFunctionType() [1/2]

SgFunctionType * SageBuilder::buildFunctionType ( SgType return_type,
SgFunctionParameterTypeList typeList = nullptr 
)

Build function type from return type and parameter type list.

Definition at line 2359 of file sageBuilder.C.

References SgNode::get_globalFunctionTypeTable(), SgFunctionType::get_mangled(), and SgNode::set_parent().

Referenced by buildDefiningFunctionDeclaration(), buildFunctionCallExp(), buildFunctionType(), and buildProcedureHeaderStatement().

◆ buildFunctionType() [2/2]

SgFunctionType * SageBuilder::buildFunctionType ( SgType return_type,
SgFunctionParameterList argList = nullptr 
)

Build function type from return type and parameter list.

Definition at line 2699 of file sageBuilder.C.

References buildFunctionParameterTypeList(), and buildFunctionType().

◆ buildMemberFunctionType() [1/2]

SgMemberFunctionType * SageBuilder::buildMemberFunctionType ( SgType return_type,
SgFunctionParameterTypeList typeList,
SgScopeStatement struct_name,
unsigned int  mfunc_specifier 
)

◆ buildMemberFunctionType() [2/2]

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

◆ buildPointerMemberType()

SgPointerMemberType * SageBuilder::buildPointerMemberType ( SgType base_type,
SgType classType 
)

Pei-Hung (06/30/2023): support for SgPointerMemberType.

Definition at line 2639 of file sageBuilder.C.

◆ buildClassTemplateType()

ROSE_DLL_API SgClassType * SageBuilder::buildClassTemplateType ( SgTemplateClassDeclaration template_decl,
std::vector< 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>)

◆ buildOpaqueType()

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.

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.

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.

Definition at line 2651 of file sageBuilder.C.

References buildIntType(), SgTypedefType::createType(), SgLocatedNode::get_file_info(), SgScopeStatement::insert_symbol(), SageInterface::prependStatement(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SageInterface::setOneSourcePositionForTransformation(), and Sg_File_Info::unsetOutputInCodeGeneration().

◆ buildUpcStrictType()

SgModifierType * SageBuilder::buildUpcStrictType ( SgType base_type = nullptr)

◆ buildUpcRelaxedType()

SgModifierType * SageBuilder::buildUpcRelaxedType ( SgType base_type = nullptr)

◆ buildUpcSharedType()

SgModifierType * SageBuilder::buildUpcSharedType ( SgType base_type = nullptr,
long  layout = -1 
)

◆ buildUpcBlockIndefiniteType()

SgModifierType * SageBuilder::buildUpcBlockIndefiniteType ( SgType base_type = nullptr)

Build a UPC shared[] type.

Definition at line 9345 of file sageBuilder.C.

References buildUpcSharedType(), SgType::class_name(), and SgModifierType::get_typeModifier().

◆ buildUpcBlockStarType()

SgModifierType * SageBuilder::buildUpcBlockStarType ( SgType base_type = nullptr)

Build a UPC shared[*] type.

Definition at line 9369 of file sageBuilder.C.

References buildUpcSharedType(), SgType::class_name(), and SgModifierType::get_typeModifier().

◆ buildUpcBlockNumberType()

SgModifierType * SageBuilder::buildUpcBlockNumberType ( SgType base_type,
long  block_factor 
)

Build a UPC shared[n] type.

Definition at line 9393 of file sageBuilder.C.

References buildUpcSharedType(), SgType::class_name(), and SgModifierType::get_typeModifier().

◆ buildComplexType()

SgTypeComplex * SageBuilder::buildComplexType ( SgType base_type = nullptr)

Build a complex type.

Definition at line 9418 of file sageBuilder.C.

◆ buildImaginaryType()

SgTypeImaginary * SageBuilder::buildImaginaryType ( SgType base_type = nullptr)

Build an imaginary type.

Definition at line 9429 of file sageBuilder.C.

◆ buildConstVolatileModifier()

Build a const/volatile type qualifier.

Definition at line 9527 of file sageBuilder.C.

◆ buildMatrixType()

SgTypeMatrix * SageBuilder::buildMatrixType ( )

Build a Matlab Matrix Type.

Build a Matrix Type for Matlab.

Definition at line 9440 of file sageBuilder.C.

◆ buildTupleType()

SgTypeTuple * SageBuilder::buildTupleType ( 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.

Build a type that holds multiple types. Used to represent the return type of a matlab function when it returns multiple variables of different types.

Definition at line 9448 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildNonrealType()

SgNonrealType * SageBuilder::buildNonrealType ( const SgName name,
SgDeclarationScope scope 
)

Build a non real type used for template parameter. Internally a SgNorealDecl is also built.

Definition at line 9470 of file sageBuilder.C.

References buildNonrealDecl(), and SgNode::set_parent().

◆ buildVariantExpression()

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.

Definition at line 5413 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildNullExpression()

SgNullExpression * SageBuilder::buildNullExpression ( )

◆ buildNullExpression_nfi()

SgNullExpression * SageBuilder::buildNullExpression_nfi ( )

No file info version of buildNullExpression(). File info is to be set later on.

Definition at line 5421 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

Referenced by buildFortranDo_nfi(), buildNullExpression(), and buildSubscriptExpression_nfi().

◆ buildColonShapeExp()

SgColonShapeExp * SageBuilder::buildColonShapeExp ( )

Build a Fortran colon-shape expression, set file info as the default one.

Definition at line 5441 of file sageBuilder.C.

References buildColonShapeExp_nfi(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildColonShapeExp_nfi()

SgColonShapeExp * SageBuilder::buildColonShapeExp_nfi ( )

No file info version of buildColonShapeExp(). File info is to be set later on.

Definition at line 5434 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

Referenced by buildColonShapeExp().

◆ buildBoolValExp() [1/2]

SgBoolValExp * SageBuilder::buildBoolValExp ( int  value = 0)

Build a bool value expression, the name convention of SgBoolValExp is little different from others for some unknown reason.

Definition at line 4257 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

Referenced by buildBoolValExp(), SageInterface::convertForToWhile(), and SageInterface::replaceExpressionWithStatement().

◆ buildBoolValExp() [2/2]

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.

Definition at line 4265 of file sageBuilder.C.

References buildBoolValExp().

◆ buildBoolValExp_nfi()

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.

Definition at line 4269 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildCharVal()

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.

Definition at line 4309 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildCharVal_nfi()

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.

Definition at line 4317 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildNullptrValExp()

SgNullptrValExp * SageBuilder::buildNullptrValExp ( )

DQ (7/31/2014): Adding support for C++11 nullptr const value expressions.

Definition at line 4277 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildNullptrValExp_nfi()

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.

Definition at line 4285 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildVoidVal()

SgVoidVal * SageBuilder::buildVoidVal ( )

DQ (2/14/2019): Adding support for C++14 void value expressions.

Definition at line 4293 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildVoidVal_nfi()

SgVoidVal * SageBuilder::buildVoidVal_nfi ( )

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 4301 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildWcharVal()

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.

Definition at line 4325 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildWcharVal_nfi()

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.

Definition at line 4333 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildChar16Val()

SgChar16Val * SageBuilder::buildChar16Val ( unsigned 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.

Definition at line 4342 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildChar16Val_nfi()

SgChar16Val * SageBuilder::buildChar16Val_nfi ( unsigned 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.

Definition at line 4350 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildChar32Val()

SgChar32Val * SageBuilder::buildChar32Val ( unsigned 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.

Definition at line 4359 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildChar32Val_nfi()

SgChar32Val * SageBuilder::buildChar32Val_nfi ( unsigned 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.

Definition at line 4367 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildComplexVal()

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.

Definition at line 4376 of file sageBuilder.C.

References SgNode::get_parent(), SgExpression::get_type(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildComplexVal_nfi()

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.

Definition at line 4395 of file sageBuilder.C.

References SgNode::get_parent(), SgExpression::get_type(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildImaginaryVal() [1/2]

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.

Definition at line 4415 of file sageBuilder.C.

References buildLongDoubleVal(), SgTypeLongDouble::createType(), SgNode::get_parent(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildImaginaryVal() [2/2]

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.

Definition at line 4428 of file sageBuilder.C.

References SgNode::get_parent(), SgExpression::get_type(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildImaginaryVal_nfi()

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.

Definition at line 4443 of file sageBuilder.C.

References SgNode::get_parent(), SgExpression::get_type(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildDoubleVal()

SgDoubleVal * SageBuilder::buildDoubleVal ( double  value = 0.0)

Build a double value expression.

Definition at line 4458 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildDoubleVal_nfi()

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.

Definition at line 4466 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildFloatVal()

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.

Definition at line 4474 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildFloatVal_nfi() [1/3]

SgFloatVal * SageBuilder::buildFloatVal_nfi ( 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.

Definition at line 4482 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

Referenced by buildFloatVal_nfi().

◆ buildFloatVal_nfi() [2/3]

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.

Definition at line 4490 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildFloatVal_nfi() [3/3]

SgFloatVal * SageBuilder::buildFloatVal_nfi ( const std::string &  str)

Build a float value expression by converting the string.

Definition at line 4498 of file sageBuilder.C.

References buildFloatVal_nfi().

◆ buildIntVal()

SgIntVal * SageBuilder::buildIntVal ( int  value = 0)

◆ buildIntValHex()

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.

Definition at line 4513 of file sageBuilder.C.

References Rose::StringUtility::intToHex(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildIntVal_nfi() [1/3]

SgIntVal * SageBuilder::buildIntVal_nfi ( 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.

Definition at line 4521 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

Referenced by buildIntVal_nfi().

◆ buildIntVal_nfi() [2/3]

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.

Definition at line 4529 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildIntVal_nfi() [3/3]

SgIntVal * SageBuilder::buildIntVal_nfi ( const std::string &  str)

Build an integer value expression by converting the string.

Definition at line 4537 of file sageBuilder.C.

References buildIntVal_nfi().

◆ buildLongIntVal()

SgLongIntVal * SageBuilder::buildLongIntVal ( long  value = 0)

Build a long integer value expression.

Definition at line 4542 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildLongIntValHex()

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.

◆ buildLongIntVal_nfi()

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.

Definition at line 4550 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildLongLongIntVal()

SgLongLongIntVal * SageBuilder::buildLongLongIntVal ( long long  value = 0)

Build a long long integer value expression.

Definition at line 4558 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildLongLongIntValHex()

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.

◆ buildLongLongIntVal_nfi()

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.

Definition at line 4566 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildEnumVal_nfi()

SgEnumVal * SageBuilder::buildEnumVal_nfi ( long long 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.

Definition at line 4583 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildEnumVal() [1/2]

SgEnumVal * SageBuilder::buildEnumVal ( long long 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.

Definition at line 4574 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildEnumVal() [2/2]

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.

Definition at line 4591 of file sageBuilder.C.

References SageInterface::copyExpression().

◆ buildLongDoubleVal()

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.

Definition at line 4602 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

Referenced by buildImaginaryVal().

◆ buildLongDoubleVal_nfi()

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.

Definition at line 4610 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildFloat80Val()

SgFloat80Val * SageBuilder::buildFloat80Val ( 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.

Definition at line 4618 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildFloat80Val_nfi()

SgFloat80Val * SageBuilder::buildFloat80Val_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.

Definition at line 4626 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildFloat128Val()

SgFloat128Val * SageBuilder::buildFloat128Val ( 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.

Definition at line 4634 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildFloat128Val_nfi()

SgFloat128Val * SageBuilder::buildFloat128Val_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.

Definition at line 4642 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildShortVal()

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.

Definition at line 4690 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildShortValHex()

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.

Definition at line 4698 of file sageBuilder.C.

References Rose::StringUtility::intToHex(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildShortVal_nfi()

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.

Definition at line 4706 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildStringVal()

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.

Definition at line 4650 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildStringVal_nfi()

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.

Definition at line 4658 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildUnsignedCharVal()

SgUnsignedCharVal * SageBuilder::buildUnsignedCharVal ( unsigned char  v = 0)

Build an unsigned char.

Definition at line 4666 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedCharValHex()

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.

Definition at line 4674 of file sageBuilder.C.

References Rose::StringUtility::intToHex(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedCharVal_nfi()

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.

Definition at line 4682 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildUnsignedShortVal()

SgUnsignedShortVal * SageBuilder::buildUnsignedShortVal ( unsigned short  v = 0)

Build an unsigned short integer.

Definition at line 4714 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedShortValHex()

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.

Definition at line 4722 of file sageBuilder.C.

References Rose::StringUtility::intToHex(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedShortVal_nfi()

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.

Definition at line 4730 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildUnsignedIntVal()

SgUnsignedIntVal * SageBuilder::buildUnsignedIntVal ( unsigned int  v = 0)

Build an unsigned integer.

Definition at line 4738 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedIntValHex()

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.

Definition at line 4746 of file sageBuilder.C.

References Rose::StringUtility::intToHex(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedIntVal_nfi()

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.

Definition at line 4754 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildUnsignedLongVal()

SgUnsignedLongVal * SageBuilder::buildUnsignedLongVal ( unsigned long  v = 0)

Build a unsigned long integer.

Definition at line 4762 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedLongValHex()

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.

Definition at line 4770 of file sageBuilder.C.

References Rose::StringUtility::intToHex(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedLongVal_nfi()

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.

Definition at line 4778 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildUnsignedLongLongIntVal()

SgUnsignedLongLongIntVal * SageBuilder::buildUnsignedLongLongIntVal ( unsigned long long  v = 0)

Build an unsigned long long integer.

Definition at line 4786 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedLongLongIntValHex()

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.

Definition at line 4794 of file sageBuilder.C.

References Rose::StringUtility::intToHex(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildUnsignedLongLongIntVal_nfi()

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.

Definition at line 4802 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildJovialBitVal_nfi()

SgJovialBitVal * SageBuilder::buildJovialBitVal_nfi ( const std::string &  str)

Build a Jovial bit value expression.

Definition at line 4810 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildTemplateParameterVal()

SgTemplateParameterVal * SageBuilder::buildTemplateParameterVal ( int  template_parameter_position = -1)

Build an template parameter value expression.

Definition at line 4835 of file sageBuilder.C.

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

◆ buildTemplateParameterVal_nfi()

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.

Definition at line 4847 of file sageBuilder.C.

References SgNode::get_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildTemplateType()

SgTemplateType * SageBuilder::buildTemplateType ( SgName  name = "")

Build a template type, used for template parameter and later argument.

Definition at line 4818 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildTemplateParameter()

SgTemplateParameter * SageBuilder::buildTemplateParameter ( SgTemplateParameter::template_parameter_enum  parameterType,
SgType t 
)

Build a template parameter, passing enum kind and SgTemplateType template_parameter_enum { parameter_undefined = 0, type_parameter = 1, nontype_parameter = 2, template_parameter = 3}.

Definition at line 4826 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildNonrealDecl()

SgNonrealDecl * SageBuilder::buildNonrealDecl ( const SgName name,
SgDeclarationScope scope,
SgDeclarationScope child_scope = NULL 
)

◆ buildNonrealRefExp_nfi()

SgNonrealRefExp * SageBuilder::buildNonrealRefExp_nfi ( SgNonrealSymbol sym)

Build a reference to the non-real declaration of a member of a non-real class.

Definition at line 5987 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildUpcThreads()

SgUpcThreads * SageBuilder::buildUpcThreads ( )

Build UPC THREADS (integer expression)

Definition at line 4918 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildUpcThreads_nfi()

SgUpcThreads * SageBuilder::buildUpcThreads_nfi ( )

Build UPC THREADS (integer expression)

Definition at line 4927 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildUpcMythread()

SgUpcMythread * SageBuilder::buildUpcMythread ( )

Build UPC MYTHREAD (integer expression)

Definition at line 4936 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildUpcMythread_nfi()

SgUpcMythread * SageBuilder::buildUpcMythread_nfi ( )

Build UPC MYTHREAD (integer expression)

Definition at line 4945 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildThisExp()

SgThisExp * SageBuilder::buildThisExp ( SgSymbol sym)

Build this pointer.

Definition at line 4953 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildThisExp_nfi()

SgThisExp * SageBuilder::buildThisExp_nfi ( SgSymbol sym)

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 4961 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildSuperExp()

SgSuperExp * SageBuilder::buildSuperExp ( SgClassSymbol sym)

Build super pointer.

Definition at line 4969 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildSuperExp_nfi()

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.

Definition at line 4977 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildClassExp()

SgClassExp * SageBuilder::buildClassExp ( SgClassSymbol sym)

Build class pointer.

Definition at line 4985 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildClassExp_nfi()

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.

Definition at line 4993 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildLambdaRefExp()

SgLambdaRefExp * SageBuilder::buildLambdaRefExp ( SgType return_type,
SgFunctionParameterList params,
SgScopeStatement scope 
)

◆ buildAddressOfOp()

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.

Definition at line 5102 of file sageBuilder.C.

Referenced by SageInterface::createTempVariableForExpression().

◆ buildAddressOfOp_nfi()

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.

Definition at line 5102 of file sageBuilder.C.

◆ buildBitComplementOp()

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.

Definition at line 5103 of file sageBuilder.C.

◆ buildBitComplementOp_nfi()

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.

Definition at line 5103 of file sageBuilder.C.

◆ buildMinusOp() [1/2]

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.

Definition at line 5104 of file sageBuilder.C.

Referenced by SageInterface::loopCollapsing().

◆ buildMinusOp_nfi() [1/2]

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.

Definition at line 5104 of file sageBuilder.C.

◆ buildNotOp()

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.

Definition at line 5105 of file sageBuilder.C.

◆ buildNotOp_nfi()

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.

Definition at line 5105 of file sageBuilder.C.

◆ buildPointerDerefExp()

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.

Definition at line 5106 of file sageBuilder.C.

Referenced by SageInterface::createTempVariableForExpression().

◆ buildPointerDerefExp_nfi()

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.

Definition at line 5106 of file sageBuilder.C.

◆ buildUnaryAddOp()

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.

Definition at line 5107 of file sageBuilder.C.

◆ buildUnaryAddOp_nfi()

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.

Definition at line 5107 of file sageBuilder.C.

◆ buildMinusMinusOp() [1/2]

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.

Definition at line 5109 of file sageBuilder.C.

◆ buildMinusMinusOp_nfi() [1/2]

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.

Definition at line 5109 of file sageBuilder.C.

◆ buildPlusPlusOp() [1/2]

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.

Definition at line 5110 of file sageBuilder.C.

◆ buildPlusPlusOp_nfi() [1/2]

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.

Definition at line 5110 of file sageBuilder.C.

◆ buildRealPartOp()

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.

Definition at line 5111 of file sageBuilder.C.

◆ buildRealPartOp_nfi()

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.

Definition at line 5111 of file sageBuilder.C.

◆ buildImagPartOp()

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.

Definition at line 5112 of file sageBuilder.C.

◆ buildImagPartOp_nfi()

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.

Definition at line 5112 of file sageBuilder.C.

◆ buildConjugateOp()

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.

Definition at line 5113 of file sageBuilder.C.

◆ buildConjugateOp_nfi()

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.

Definition at line 5113 of file sageBuilder.C.

◆ buildVarArgStartOneOperandOp()

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.

Definition at line 5114 of file sageBuilder.C.

◆ buildVarArgStartOneOperandOp_nfi()

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.

Definition at line 5114 of file sageBuilder.C.

◆ buildVarArgEndOp()

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.

Definition at line 5115 of file sageBuilder.C.

◆ buildVarArgEndOp_nfi()

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.

Definition at line 5115 of file sageBuilder.C.

◆ buildAbsOp()

ROSE_DLL_API SgAbsOp * SageBuilder::buildAbsOp ( 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.

Definition at line 5108 of file sageBuilder.C.

◆ buildAbsOp_nfi()

ROSE_DLL_API SgAbsOp * SageBuilder::buildAbsOp_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.

Definition at line 5108 of file sageBuilder.C.

◆ buildMatrixTransposeOp()

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.

Definition at line 5117 of file sageBuilder.C.

◆ buildMatrixTransposeOp_nfi()

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.

Definition at line 5117 of file sageBuilder.C.

◆ buildCastExp()

SgCastExp * SageBuilder::buildCastExp ( SgExpression operand_i = NULL,
SgType expression_type = NULL,
SgCastExp::cast_type_enum  cast_type = SgCastExp::e_C_style_cast 
)

Build a type casting expression.

Definition at line 5121 of file sageBuilder.C.

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

Referenced by SageInterface::replaceExpressionWithStatement().

◆ buildCastExp_nfi()

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.

Definition at line 5171 of file sageBuilder.C.

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

◆ buildVarArgOp_nfi()

SgVarArgOp * SageBuilder::buildVarArgOp_nfi ( SgExpression operand_i,
SgType expression_type 
)

Build vararg op expression.

Definition at line 5180 of file sageBuilder.C.

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

◆ buildMinusOp() [2/2]

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

Build – expression, Sgop_mode is a value of either SgUnaryOp::prefix or SgUnaryOp::postfix.

Definition at line 5204 of file sageBuilder.C.

References SgUnaryOp::set_mode().

◆ buildMinusOp_nfi() [2/2]

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.

Definition at line 5212 of file sageBuilder.C.

References SgUnaryOp::set_mode().

◆ buildMinusMinusOp() [2/2]

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.

Definition at line 5188 of file sageBuilder.C.

References SgUnaryOp::set_mode().

◆ buildMinusMinusOp_nfi() [2/2]

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.

Definition at line 5196 of file sageBuilder.C.

References SgUnaryOp::set_mode().

◆ buildPlusPlusOp() [2/2]

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

Build ++x or x++ , specify prefix or postfix using either SgUnaryOp::prefix or SgUnaryOp::postfix.

Definition at line 5220 of file sageBuilder.C.

References SgUnaryOp::set_mode().

◆ buildPlusPlusOp_nfi() [2/2]

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.

Definition at line 5229 of file sageBuilder.C.

References SgUnaryOp::set_mode().

◆ buildThrowOp()

SgThrowOp * SageBuilder::buildThrowOp ( SgExpression operand_i,
SgThrowOp::e_throw_kind  throwKind 
)

Build a ThrowOp expression.

Definition at line 5237 of file sageBuilder.C.

References SgExpression::get_type(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildNewExp()

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.

Definition at line 5133 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildDeleteExp() [1/2]

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.

Definition at line 5149 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildTypeIdOp()

SgTypeIdOp * SageBuilder::buildTypeIdOp ( SgExpression operand_expr,
SgType operand_type 
)

DQ (1/25/2013): Added support for typeId operators.

Definition at line 5162 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildAddOp()

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.

Definition at line 5271 of file sageBuilder.C.

Referenced by SageInterface::getForLoopInformations(), SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::loopUnrolling(), and SageInterface::normalizeForLoopTest().

◆ buildAddOp_nfi()

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.

Definition at line 5271 of file sageBuilder.C.

◆ buildAndAssignOp()

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.

Definition at line 5272 of file sageBuilder.C.

◆ buildAndAssignOp_nfi()

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.

Definition at line 5272 of file sageBuilder.C.

◆ buildAndOp()

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.

Definition at line 5273 of file sageBuilder.C.

◆ buildAndOp_nfi()

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.

Definition at line 5273 of file sageBuilder.C.

◆ buildArrowExp()

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.

Definition at line 5274 of file sageBuilder.C.

◆ buildArrowExp_nfi()

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.

Definition at line 5274 of file sageBuilder.C.

◆ buildArrowStarOp()

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.

Definition at line 5275 of file sageBuilder.C.

◆ buildArrowStarOp_nfi()

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.

Definition at line 5275 of file sageBuilder.C.

◆ buildAssignOp()

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.

Definition at line 5276 of file sageBuilder.C.

Referenced by SageInterface::createTempVariableForExpression(), and SageInterface::insertAfterUsingCommaOp().

◆ buildAssignOp_nfi()

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.

Definition at line 5276 of file sageBuilder.C.

◆ buildAtOp()

ROSE_DLL_API SgAtOp * SageBuilder::buildAtOp ( 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.

Definition at line 5277 of file sageBuilder.C.

◆ buildAtOp_nfi()

ROSE_DLL_API SgAtOp * SageBuilder::buildAtOp_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.

Definition at line 5277 of file sageBuilder.C.

◆ buildBitAndOp()

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.

Definition at line 5278 of file sageBuilder.C.

◆ buildBitAndOp_nfi()

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.

Definition at line 5278 of file sageBuilder.C.

◆ buildBitOrOp()

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.

Definition at line 5279 of file sageBuilder.C.

◆ buildBitOrOp_nfi()

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.

Definition at line 5279 of file sageBuilder.C.

◆ buildBitXorOp()

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.

Definition at line 5280 of file sageBuilder.C.

◆ buildBitXorOp_nfi()

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.

Definition at line 5280 of file sageBuilder.C.

◆ buildCommaOpExp()

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.

Definition at line 5282 of file sageBuilder.C.

Referenced by SageInterface::insertAfterUsingCommaOp(), and SageInterface::insertBeforeUsingCommaOp().

◆ buildCommaOpExp_nfi()

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.

Definition at line 5282 of file sageBuilder.C.

◆ buildConcatenationOp()

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.

Definition at line 5283 of file sageBuilder.C.

◆ buildConcatenationOp_nfi()

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.

Definition at line 5283 of file sageBuilder.C.

◆ buildDivAssignOp()

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.

Definition at line 5284 of file sageBuilder.C.

◆ buildDivAssignOp_nfi()

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.

Definition at line 5284 of file sageBuilder.C.

◆ buildDivideOp()

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.

Definition at line 5285 of file sageBuilder.C.

Referenced by SageInterface::loopCollapsing(), and SageInterface::loopUnrolling().

◆ buildDivideOp_nfi()

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.

Definition at line 5285 of file sageBuilder.C.

◆ buildDotExp()

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.

Definition at line 5286 of file sageBuilder.C.

Referenced by buildMemberFunctionCall(), buildMemberFunctionCall(), and SageInterface::normalizeArrowExpWithAddressOfLeftOperand().

◆ buildDotExp_nfi()

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.

Definition at line 5286 of file sageBuilder.C.

◆ buildDotStarOp()

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.

Definition at line 5287 of file sageBuilder.C.

◆ buildDotStarOp_nfi()

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.

Definition at line 5287 of file sageBuilder.C.

◆ buildEqualityOp()

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.

Definition at line 5288 of file sageBuilder.C.

Referenced by SageInterface::loopCollapsing(), and SageInterface::loopUnrolling().

◆ buildEqualityOp_nfi()

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.

Definition at line 5288 of file sageBuilder.C.

◆ buildExponentiationOp()

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.

Definition at line 5290 of file sageBuilder.C.

◆ buildExponentiationOp_nfi()

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.

Definition at line 5290 of file sageBuilder.C.

◆ buildExponentiationAssignOp()

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.

Definition at line 5291 of file sageBuilder.C.

◆ buildExponentiationAssignOp_nfi()

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.

Definition at line 5291 of file sageBuilder.C.

◆ buildGreaterOrEqualOp()

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.

Definition at line 5292 of file sageBuilder.C.

Referenced by SageInterface::loopTiling(), and SageInterface::normalizeForLoopTest().

◆ buildGreaterOrEqualOp_nfi()

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.

Definition at line 5292 of file sageBuilder.C.

◆ buildGreaterThanOp()

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.

Definition at line 5293 of file sageBuilder.C.

◆ buildGreaterThanOp_nfi()

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.

Definition at line 5293 of file sageBuilder.C.

◆ buildIntegerDivideOp()

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.

Definition at line 5294 of file sageBuilder.C.

◆ buildIntegerDivideOp_nfi()

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.

Definition at line 5294 of file sageBuilder.C.

◆ buildIntegerDivideAssignOp()

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.

Definition at line 5295 of file sageBuilder.C.

◆ buildIntegerDivideAssignOp_nfi()

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.

Definition at line 5295 of file sageBuilder.C.

◆ buildIorAssignOp()

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.

Definition at line 5296 of file sageBuilder.C.

◆ buildIorAssignOp_nfi()

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.

Definition at line 5296 of file sageBuilder.C.

◆ buildIsOp()

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.

Definition at line 5297 of file sageBuilder.C.

◆ buildIsOp_nfi()

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.

Definition at line 5297 of file sageBuilder.C.

◆ buildIsNotOp()

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.

Definition at line 5298 of file sageBuilder.C.

◆ buildIsNotOp_nfi()

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.

Definition at line 5298 of file sageBuilder.C.

◆ buildLessOrEqualOp()

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.

Definition at line 5300 of file sageBuilder.C.

Referenced by SageInterface::loopCollapsing(), SageInterface::loopTiling(), and SageInterface::normalizeForLoopTest().

◆ buildLessOrEqualOp_nfi()

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.

Definition at line 5300 of file sageBuilder.C.

◆ buildLessThanOp()

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.

Definition at line 5301 of file sageBuilder.C.

Referenced by SageInterface::loopTiling().

◆ buildLessThanOp_nfi()

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.

Definition at line 5301 of file sageBuilder.C.

◆ buildLshiftAssignOp()

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.

Definition at line 5302 of file sageBuilder.C.

◆ buildLshiftAssignOp_nfi()

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.

Definition at line 5302 of file sageBuilder.C.

◆ buildLshiftOp()

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.

Definition at line 5303 of file sageBuilder.C.

◆ buildLshiftOp_nfi()

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.

Definition at line 5303 of file sageBuilder.C.

◆ buildMembershipOp()

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.

Definition at line 5305 of file sageBuilder.C.

◆ buildMembershipOp_nfi()

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.

Definition at line 5305 of file sageBuilder.C.

◆ buildMinusAssignOp()

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.

Definition at line 5306 of file sageBuilder.C.

Referenced by SageInterface::loopTiling().

◆ buildMinusAssignOp_nfi()

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.

Definition at line 5306 of file sageBuilder.C.

◆ buildModAssignOp()

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.

Definition at line 5307 of file sageBuilder.C.

◆ buildModAssignOp_nfi()

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.

Definition at line 5307 of file sageBuilder.C.

◆ buildModOp()

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.

Definition at line 5308 of file sageBuilder.C.

Referenced by SageInterface::loopCollapsing(), and SageInterface::loopUnrolling().

◆ buildModOp_nfi()

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.

Definition at line 5308 of file sageBuilder.C.

◆ buildMultAssignOp()

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.

Definition at line 5309 of file sageBuilder.C.

◆ buildMultAssignOp_nfi()

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.

Definition at line 5309 of file sageBuilder.C.

◆ buildMultiplyOp()

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.

Definition at line 5310 of file sageBuilder.C.

Referenced by SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::loopUnrolling(), and SageInterface::normalizeForLoopIncrement().

◆ buildMultiplyOp_nfi()

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.

Definition at line 5310 of file sageBuilder.C.

◆ buildNonMembershipOp()

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.

Definition at line 5313 of file sageBuilder.C.

◆ buildNonMembershipOp_nfi()

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.

Definition at line 5313 of file sageBuilder.C.

◆ buildNotEqualOp()

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.

Definition at line 5312 of file sageBuilder.C.

◆ buildNotEqualOp_nfi()

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.

Definition at line 5312 of file sageBuilder.C.

◆ buildOrOp()

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.

Definition at line 5314 of file sageBuilder.C.

◆ buildOrOp_nfi()

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.

Definition at line 5314 of file sageBuilder.C.

◆ buildPlusAssignOp()

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.

Definition at line 5315 of file sageBuilder.C.

Referenced by SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::normalizeForLoopIncrement(), and SageInterface::setLoopStride().

◆ buildPlusAssignOp_nfi()

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.

Definition at line 5315 of file sageBuilder.C.

◆ buildPntrArrRefExp()

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.

Definition at line 5316 of file sageBuilder.C.

◆ buildPntrArrRefExp_nfi()

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.

Definition at line 5316 of file sageBuilder.C.

◆ buildRemOp()

ROSE_DLL_API SgRemOp * SageBuilder::buildRemOp ( 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.

Definition at line 5317 of file sageBuilder.C.

◆ buildRemOp_nfi()

ROSE_DLL_API SgRemOp * SageBuilder::buildRemOp_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.

Definition at line 5317 of file sageBuilder.C.

◆ buildRshiftAssignOp()

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.

Definition at line 5318 of file sageBuilder.C.

◆ buildRshiftAssignOp_nfi()

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.

Definition at line 5318 of file sageBuilder.C.

◆ buildJavaUnsignedRshiftAssignOp()

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.

Definition at line 5319 of file sageBuilder.C.

◆ buildJavaUnsignedRshiftAssignOp_nfi()

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.

Definition at line 5319 of file sageBuilder.C.

◆ buildReplicationOp()

ROSE_DLL_API SgReplicationOp * SageBuilder::buildReplicationOp ( 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.

Definition at line 5331 of file sageBuilder.C.

◆ buildReplicationOp_nfi()

ROSE_DLL_API SgReplicationOp * SageBuilder::buildReplicationOp_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.

Definition at line 5331 of file sageBuilder.C.

◆ buildRshiftOp()

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.

Definition at line 5321 of file sageBuilder.C.

◆ buildRshiftOp_nfi()

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.

Definition at line 5321 of file sageBuilder.C.

◆ buildJavaUnsignedRshiftOp()

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.

Definition at line 5322 of file sageBuilder.C.

◆ buildJavaUnsignedRshiftOp_nfi()

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.

Definition at line 5322 of file sageBuilder.C.

◆ buildScopeOp()

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.

Definition at line 5323 of file sageBuilder.C.

◆ buildScopeOp_nfi()

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.

Definition at line 5323 of file sageBuilder.C.

◆ buildSubtractOp()

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.

Definition at line 5324 of file sageBuilder.C.

Referenced by SageInterface::getForLoopInformations(), SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::loopUnrolling(), and SageInterface::normalizeForLoopTest().

◆ buildSubtractOp_nfi()

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.

Definition at line 5324 of file sageBuilder.C.

◆ buildXorAssignOp()

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.

Definition at line 5325 of file sageBuilder.C.

◆ buildXorAssignOp_nfi()

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.

Definition at line 5325 of file sageBuilder.C.

◆ buildVarArgCopyOp()

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.

Definition at line 5327 of file sageBuilder.C.

◆ buildVarArgCopyOp_nfi()

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.

Definition at line 5327 of file sageBuilder.C.

◆ buildVarArgStartOp()

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.

Definition at line 5328 of file sageBuilder.C.

◆ buildVarArgStartOp_nfi()

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.

Definition at line 5328 of file sageBuilder.C.

◆ buildPowerOp()

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.

Definition at line 5334 of file sageBuilder.C.

◆ buildPowerOp_nfi()

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.

Definition at line 5334 of file sageBuilder.C.

◆ buildElementwisePowerOp()

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.

Definition at line 5335 of file sageBuilder.C.

◆ buildElementwisePowerOp_nfi()

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.

Definition at line 5335 of file sageBuilder.C.

◆ buildElementwiseMultiplyOp()

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.

Definition at line 5336 of file sageBuilder.C.

◆ buildElementwiseMultiplyOp_nfi()

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.

Definition at line 5336 of file sageBuilder.C.

◆ buildElementwiseDivideOp()

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.

Definition at line 5337 of file sageBuilder.C.

◆ buildElementwiseDivideOp_nfi()

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.

Definition at line 5337 of file sageBuilder.C.

◆ buildLeftDivideOp()

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.

Definition at line 5338 of file sageBuilder.C.

◆ buildLeftDivideOp_nfi()

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.

Definition at line 5338 of file sageBuilder.C.

◆ buildElementwiseLeftDivideOp()

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.

Definition at line 5339 of file sageBuilder.C.

◆ buildElementwiseLeftDivideOp_nfi()

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.

Definition at line 5339 of file sageBuilder.C.

◆ buildElementwiseAddOp()

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.

Definition at line 5340 of file sageBuilder.C.

◆ buildElementwiseAddOp_nfi()

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.

Definition at line 5340 of file sageBuilder.C.

◆ buildElementwiseSubtractOp()

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.

Definition at line 5341 of file sageBuilder.C.

◆ buildElementwiseSubtractOp_nfi()

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.

Definition at line 5341 of file sageBuilder.C.

◆ buildSpaceshipOp()

ROSE_DLL_API SgSpaceshipOp * SageBuilder::buildSpaceshipOp ( 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.

Definition at line 5344 of file sageBuilder.C.

◆ buildSpaceshipOp_nfi()

ROSE_DLL_API SgSpaceshipOp * SageBuilder::buildSpaceshipOp_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.

Definition at line 5344 of file sageBuilder.C.

◆ buildConditionalExp()

SgConditionalExp * SageBuilder::buildConditionalExp ( SgExpression test = NULL,
SgExpression a = NULL,
SgExpression b = NULL 
)

◆ buildConditionalExp_nfi()

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.

Definition at line 5403 of file sageBuilder.C.

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

◆ buildExprListExp() [1/2]

SgExprListExp * SageBuilder::buildExprListExp ( 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 
)

◆ buildExprListExp() [2/2]

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.

Definition at line 5796 of file sageBuilder.C.

References SageInterface::appendExpression(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildExprListExp_nfi() [1/2]

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.

Definition at line 5808 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildExprListExp_nfi() [2/2]

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.

Definition at line 5817 of file sageBuilder.C.

References SageInterface::appendExpression(), and SageInterface::setOneSourcePositionNull().

◆ buildSubscriptExpression_nfi()

SgSubscriptExpression * SageBuilder::buildSubscriptExpression_nfi ( SgExpression lower_bound,
SgExpression upper_bound,
SgExpression stride 
)

Build a SgSubscriptExpression, used for array shape expressions. The lower bound and stride may be nullptrs.

Definition at line 5835 of file sageBuilder.C.

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

◆ buildTupleExp() [1/2]

SgTupleExp * SageBuilder::buildTupleExp ( 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 
)

◆ buildTupleExp() [2/2]

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.

Definition at line 5022 of file sageBuilder.C.

References SageInterface::appendExpressionList(), and buildTupleExp().

◆ buildTupleExp_nfi() [1/2]

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.

Definition at line 5030 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

Referenced by buildTupleExp_nfi().

◆ buildTupleExp_nfi() [2/2]

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.

Definition at line 5039 of file sageBuilder.C.

References SageInterface::appendExpressionList(), and buildTupleExp_nfi().

◆ buildListExp() [1/2]

SgListExp * SageBuilder::buildListExp ( 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 
)

◆ buildListExp() [2/2]

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.

Definition at line 5067 of file sageBuilder.C.

References SageInterface::appendExpressionList(), and buildListExp().

◆ buildListExp_nfi() [1/2]

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.

Definition at line 5075 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

Referenced by buildListExp_nfi().

◆ buildListExp_nfi() [2/2]

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.

Definition at line 5084 of file sageBuilder.C.

References SageInterface::appendExpressionList(), and buildListExp_nfi().

◆ buildComprehension()

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.

Definition at line 7528 of file sageBuilder.C.

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

◆ buildComprehension_nfi()

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.

Definition at line 7544 of file sageBuilder.C.

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

◆ buildListComprehension()

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.

Definition at line 7558 of file sageBuilder.C.

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

◆ buildListComprehension_nfi()

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.

Definition at line 7570 of file sageBuilder.C.

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

◆ buildSetComprehension()

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.

Definition at line 7582 of file sageBuilder.C.

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

◆ buildSetComprehension_nfi()

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.

Definition at line 7594 of file sageBuilder.C.

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

◆ buildDictionaryComprehension()

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.

Definition at line 7606 of file sageBuilder.C.

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

◆ buildDictionaryComprehension_nfi()

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.

Definition at line 7618 of file sageBuilder.C.

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

◆ buildVarRefExp() [1/6]

SgVarRefExp * SageBuilder::buildVarRefExp ( const SgName name,
SgScopeStatement scope = NULL 
)

Build SgVarRefExp based on a variable's Sage name. It will lookup the name in the 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 declared, 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 that some get_type() operations 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.

Definition at line 5904 of file sageBuilder.C.

References buildInitializedName(), SgTypeUnknown::createType(), SageInterface::lookupVariableSymbolInParentScopes(), SgNode::set_parent(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().

Referenced by buildOpaqueVarRefExp(), buildVarRefExp(), buildVarRefExp(), buildVarRefExp(), buildVarRefExp(), SageInterface::createTempVariableAndReferenceForExpression(), SageInterface::createTempVariableForExpression(), SageInterface::insertAfterUsingCommaOp(), SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::loopUnrolling(), SageInterface::normalizeForLoopInitDeclaration(), SageInterface::replaceExpressionWithStatement(), SageInterface::splitExpression(), and SageInterface::splitVariableDeclaration().

◆ buildVarRefExp() [2/6]

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

Definition at line 5897 of file sageBuilder.C.

References buildVarRefExp().

◆ buildVarRefExp() [3/6]

SgVarRefExp * SageBuilder::buildVarRefExp ( const char *  varName,
SgScopeStatement scope = NULL 
)

Build a variable reference using a C style char array.

Definition at line 5890 of file sageBuilder.C.

References buildVarRefExp().

◆ buildVarRefExp() [4/6]

SgVarRefExp * SageBuilder::buildVarRefExp ( SgVariableSymbol varSymbol)

Build a variable reference from an existing symbol.

Definition at line 5965 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildVarRefExp_nfi()

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.

Definition at line 5976 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildVarRefExp() [5/6]

SgVarRefExp * SageBuilder::buildVarRefExp ( SgVariableDeclaration vardecl)

Build a variable reference from an existing variable declaration. The assumption is a SgVariableDeclartion only declares one variable in the ROSE AST.

Definition at line 5955 of file sageBuilder.C.

References buildVarRefExp(), and SageInterface::getFirstVarSym().

◆ buildVarRefExp() [6/6]

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.

Definition at line 5863 of file sageBuilder.C.

References buildVarRefExp(), SgInitializedName::get_symbol_from_symbol_table(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().

◆ buildOpaqueVarRefExp()

SgVarRefExp * SageBuilder::buildOpaqueVarRefExp ( const std::string &  name,
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.

Definition at line 5999 of file sageBuilder.C.

References buildIntType(), buildVariableDeclaration(), buildVarRefExp(), SgLocatedNode::get_file_info(), SageInterface::getFirstVarSym(), SageInterface::lookupVariableSymbolInParentScopes(), SgNode::set_parent(), topScopeStack(), and Sg_File_Info::unsetOutputInCodeGeneration().

◆ buildCompoundLiteralExp_nfi()

SgCompoundLiteralExp * SageBuilder::buildCompoundLiteralExp_nfi ( SgVariableSymbol varSymbol)

Build function for compound literals (uses a SgVariableSymbol and is similar to buildVarRefExp_nfi()).

Definition at line 6039 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildCompoundLiteralExp()

SgCompoundLiteralExp * SageBuilder::buildCompoundLiteralExp ( SgVariableSymbol varSymbol)

Build function for compound literals (uses a SgVariableSymbol and is similar to buildVarRefExp()).

Definition at line 6052 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildLabelRefExp()

SgLabelRefExp * SageBuilder::buildLabelRefExp ( SgLabelSymbol s)

Build a Fortran numeric label ref exp.

Definition at line 6064 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

Referenced by buildGotoStatement(), and SageInterface::setFortranNumericLabel().

◆ buildFunctionRefExp() [1/6]

SgFunctionRefExp * SageBuilder::buildFunctionRefExp ( 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.

Definition at line 6108 of file sageBuilder.C.

References buildFunctionParameterList(), SgStorageModifier::e_default, SageInterface::getGlobalScope(), SageInterface::is_Fortran_language(), SageInterface::is_Jovial_language(), SageInterface::lookupFunctionSymbolInParentScopes(), SgStorageModifier::setExtern(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().

Referenced by buildFunctionCallExp(), buildFunctionCallExp(), buildFunctionRefExp(), buildFunctionRefExp(), buildFunctionRefExp(), and buildFunctionRefExp().

◆ buildFunctionRefExp() [2/6]

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.

Definition at line 6158 of file sageBuilder.C.

References buildFunctionRefExp().

◆ buildFunctionRefExp() [3/6]

SgFunctionRefExp * SageBuilder::buildFunctionRefExp ( 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.

Lookup a C style function symbol to create a function reference expression to it.

Definition at line 6282 of file sageBuilder.C.

References buildFunctionParameterList(), buildFunctionRefExp(), buildIntType(), buildNondefiningFunctionDeclaration(), SageInterface::getGlobalScope(), SageInterface::lookupFunctionSymbolInParentScopes(), SgStorageModifier::setExtern(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().

◆ buildFunctionRefExp() [4/6]

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.

Definition at line 6325 of file sageBuilder.C.

References buildFunctionRefExp().

◆ buildFunctionRefExp() [5/6]

SgFunctionRefExp * SageBuilder::buildFunctionRefExp ( const SgFunctionDeclaration func_decl)

◆ buildFunctionRefExp() [6/6]

SgFunctionRefExp * SageBuilder::buildFunctionRefExp ( SgFunctionSymbol sym)

Build SgFunctionRefExp based on a function's symbol.

Definition at line 6195 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildFunctionRefExp_nfi()

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.

Definition at line 6205 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildTemplateFunctionRefExp_nfi()

SgTemplateFunctionRefExp * SageBuilder::buildTemplateFunctionRefExp_nfi ( SgTemplateFunctionSymbol sym)

DQ (12/15/2011): Adding template declaration support to the AST.

Definition at line 6215 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildTemplateMemberFunctionRefExp_nfi()

SgTemplateMemberFunctionRefExp * SageBuilder::buildTemplateMemberFunctionRefExp_nfi ( SgTemplateMemberFunctionSymbol sym,
bool  virtual_call,
bool  need_qualifier 
)

DQ (12/29/2011): Adding template declaration support to the AST.

Definition at line 6233 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildMemberFunctionRefExp_nfi()

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.

Definition at line 6243 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildMemberFunctionRefExp()

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.

Definition at line 6253 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

Referenced by buildFunctionCallExp(), buildMemberFunctionCall(), and buildMemberFunctionCall().

◆ buildClassNameRefExp_nfi()

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.

Definition at line 6263 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildClassNameRefExp()

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.

Definition at line 6272 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildFunctionCallExp() [1/3]

SgFunctionCallExp * SageBuilder::buildFunctionCallExp ( SgFunctionSymbol sym,
SgExprListExp parameters = NULL 
)

◆ buildFunctionCallExp_nfi()

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.

Definition at line 6444 of file sageBuilder.C.

References SgExpression::get_type(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildFunctionCallExp() [2/3]

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.

Definition at line 6462 of file sageBuilder.C.

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

◆ buildFunctionCallExp() [3/3]

SgFunctionCallExp * SageBuilder::buildFunctionCallExp ( 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.

Definition at line 6377 of file sageBuilder.C.

References buildExprListExp(), buildFunctionParameterTypeList(), buildFunctionRefExp(), buildFunctionType(), SgFunctionRefExp::get_type(), SgNode::set_parent(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().

◆ buildMemberFunctionCall() [1/2]

SgFunctionCallExp * SageBuilder::buildMemberFunctionCall ( std::string  className,
SgExpression objectExpression,
std::string  functionName,
SgExprListExp params,
SgScopeStatement scope 
)

Build member function calls.

AST builder functions for template instantiation etc.

Create a member function call This function looks for the function symbol in the given className The function should exist in the class The class should be #included or present in the source file parsed by frontend

Parameters: className: template class name, e.g. vector objectExpression: the variable reference expression to an object of template class instantiation: vector<int> var1; functionName: member function name: size params: function parameter list scope: the scope this function call expression will be inserted into. Credit to Peter's previous work at: projects/MatlabTranslation/src/transformations/MatlabSimpleTransformer.cc

Create a member function call This function looks for the function symbol in the given className The function should exist in the class The class should be #included or present in the source file parsed by frontend

Definition at line 6507 of file sageBuilder.C.

References buildDotExp(), buildFunctionCallExp(), buildMemberFunctionRefExp(), SgDeclarationStatement::get_definingDeclaration(), SageInterface::lookupClassSymbolInParentScopes(), and SageInterface::lookupFunctionSymbolInParentScopes().

◆ buildMemberFunctionCall() [2/2]

SgFunctionCallExp * SageBuilder::buildMemberFunctionCall ( SgExpression objectExpression,
SgMemberFunctionSymbol functionSymbol,
SgExprListExp params 
)

Build member function calls. objectExpression: the variable reference expression to an object of template class instantiation: vector<int> var1;.

Definition at line 6534 of file sageBuilder.C.

References buildDotExp(), buildFunctionCallExp(), and buildMemberFunctionRefExp().

◆ buildTypeTraitBuiltinOperator()

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.

Definition at line 6542 of file sageBuilder.C.

◆ buildCudaKernelCallExp_nfi()

SgCudaKernelCallExp * SageBuilder::buildCudaKernelCallExp_nfi ( SgExpression kernel,
SgExprListExp parameters = NULL,
SgCudaKernelExecConfig config = NULL 
)

Build a CUDA kernel call expression (kernel<<<config>>>(parameters))

Definition at line 6562 of file sageBuilder.C.

References SgExpression::get_type(), SgNode::set_parent(), SageInterface::setOneSourcePositionNull(), and SgNode::unparseToString().

◆ buildCudaKernelExecConfig_nfi()

SgCudaKernelExecConfig * SageBuilder::buildCudaKernelExecConfig_nfi ( SgExpression grid = NULL,
SgExpression blocks = NULL,
SgExpression shared = NULL,
SgExpression stream = NULL 
)

Build a CUDA kernel execution configuration (<<<grid, blocks, shared, stream>>>)

Definition at line 6601 of file sageBuilder.C.

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

◆ buildAssignInitializer()

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

◆ buildAssignInitializer_nfi()

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.

Definition at line 5461 of file sageBuilder.C.

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

◆ buildAggregateInitializer()

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

Build an aggregate initializer.

Definition at line 5479 of file sageBuilder.C.

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

◆ buildAggregateInitializer_nfi()

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

Build an aggregate initializer.

Definition at line 5493 of file sageBuilder.C.

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

◆ buildCompoundInitializer()

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

Build a compound initializer, for vector type initialization.

Definition at line 5507 of file sageBuilder.C.

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

◆ buildCompoundInitializer_nfi()

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

Build a compound initializer, for vector type initialization.

Definition at line 5520 of file sageBuilder.C.

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

◆ buildConstructorInitializer()

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.

Definition at line 5534 of file sageBuilder.C.

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

◆ buildConstructorInitializer_nfi()

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.

Definition at line 5566 of file sageBuilder.C.

References SgLocatedNode::get_startOfConstruct(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildBracedInitializer()

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

Build an braced initializer.

Definition at line 5604 of file sageBuilder.C.

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

◆ buildBracedInitializer_nfi()

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.

Definition at line 5616 of file sageBuilder.C.

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

◆ buildSizeOfOp() [1/2]

SgSizeOfOp * SageBuilder::buildSizeOfOp ( SgExpression exp = NULL)

Build sizeof() expression with an expression parameter.

Definition at line 5630 of file sageBuilder.C.

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

◆ buildSizeOfOp_nfi() [1/2]

SgSizeOfOp * SageBuilder::buildSizeOfOp_nfi ( SgExpression exp)

Build sizeof() expression with an expression parameter.

Definition at line 5648 of file sageBuilder.C.

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

◆ buildSizeOfOp() [2/2]

SgSizeOfOp * SageBuilder::buildSizeOfOp ( SgType type = NULL)

Build sizeof() expression with a type parameter.

Definition at line 5666 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildSizeOfOp_nfi() [2/2]

SgSizeOfOp * SageBuilder::buildSizeOfOp_nfi ( SgType type)

Build sizeof() expression with a type parameter.

Definition at line 5676 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildAlignOfOp() [1/2]

SgAlignOfOp * SageBuilder::buildAlignOfOp ( SgExpression exp = NULL)

Build alignof() expression with an expression parameter.

Definition at line 5686 of file sageBuilder.C.

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

◆ buildAlignOfOp_nfi() [1/2]

SgAlignOfOp * SageBuilder::buildAlignOfOp_nfi ( SgExpression exp)

Build alignof() expression with an expression parameter.

Definition at line 5703 of file sageBuilder.C.

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

◆ buildAlignOfOp() [2/2]

SgAlignOfOp * SageBuilder::buildAlignOfOp ( SgType type = NULL)

Build alignof() expression with a type parameter.

Definition at line 5756 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildAlignOfOp_nfi() [2/2]

SgAlignOfOp * SageBuilder::buildAlignOfOp_nfi ( SgType type)

Build alignof() expression with a type parameter.

Definition at line 5765 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildNoexceptOp()

SgNoexceptOp * SageBuilder::buildNoexceptOp ( SgExpression exp = NULL)

Build noexcept operator expression with an expression parameter.

Definition at line 5720 of file sageBuilder.C.

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

◆ buildNoexceptOp_nfi()

SgNoexceptOp * SageBuilder::buildNoexceptOp_nfi ( SgExpression exp)

Build noexcept operator expression with an expression parameter.

Definition at line 5738 of file sageBuilder.C.

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

◆ buildJavaInstanceOfOp()

SgJavaInstanceOfOp * SageBuilder::buildJavaInstanceOfOp ( SgExpression exp = NULL,
SgType type = NULL 
)

This is part of Java specific operator support.

Definition at line 7431 of file sageBuilder.C.

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

◆ buildTypeExpression()

SgTypeExpression * SageBuilder::buildTypeExpression ( SgType type)

DQ (7/24/2014): Adding support for c11 generic operands.

Definition at line 9553 of file sageBuilder.C.

References SageInterface::setSourcePosition().

◆ buildFunctionParameterRefExp()

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.

Definition at line 9562 of file sageBuilder.C.

References SageInterface::setSourcePosition().

◆ buildFunctionParameterRefExp_nfi()

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.

Definition at line 9574 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildLambdaExp()

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

DQ (9/3/2014): Adding support for C++11 Lambda expressions.

Definition at line 9585 of file sageBuilder.C.

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

◆ buildLambdaExp_nfi()

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.

Definition at line 9622 of file sageBuilder.C.

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

◆ buildLambdaCapture()

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.

Definition at line 9680 of file sageBuilder.C.

References SageInterface::setSourcePosition().

◆ buildLambdaCapture_nfi()

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.

Definition at line 9690 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildLambdaCaptureList()

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.

Definition at line 9701 of file sageBuilder.C.

References SageInterface::setSourcePosition().

◆ buildLambdaCaptureList_nfi()

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.

Definition at line 9711 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildFoldExpression()

SgFoldExpression * SageBuilder::buildFoldExpression ( SgExpression operands,
std::string  operator_token_string,
bool  is_left_associative 
)

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 9722 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildFoldExpression_nfi()

SgFoldExpression * SageBuilder::buildFoldExpression_nfi ( SgExpression operands,
std::string  operator_token_string,
bool  is_left_associative 
)

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 9732 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildAwaitExpression()

SgAwaitExpression * SageBuilder::buildAwaitExpression ( )

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 9743 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildAwaitExpression_nfi()

SgAwaitExpression * SageBuilder::buildAwaitExpression_nfi ( )

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 9752 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildChooseExpression()

SgChooseExpression * SageBuilder::buildChooseExpression ( )

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 9763 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildChooseExpression_nfi()

SgChooseExpression * SageBuilder::buildChooseExpression_nfi ( )

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 9773 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildRangeExp() [1/2]

SgRangeExp * SageBuilder::buildRangeExp ( SgExpression start)

Build a Matlab range expression like start:end or start:stride:end.

Definition at line 9477 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildMatrixExp()

SgMatrixExp * SageBuilder::buildMatrixExp ( SgExprListExp firstRow)

Build a Matlab Matrix.

Definition at line 9505 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildMagicColonExp()

SgMagicColonExp * SageBuilder::buildMagicColonExp ( )

Build a Matlab colon expression :

Definition at line 9516 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildMatlabForStatement()

SgMatlabForStatement * SageBuilder::buildMatlabForStatement ( SgExpression loop_index,
SgExpression loop_range,
SgBasicBlock loop_body 
)

Build a For-loop statement for matlab.

Definition at line 7327 of file sageBuilder.C.

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

◆ buildRangeExp() [2/2]

SgRangeExp * SageBuilder::buildRangeExp ( SgExpression start,
SgExpression end,
SgExpression stride 
)

Definition at line 9487 of file sageBuilder.C.

◆ buildInitializedName() [1/3]

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.

Definition at line 1264 of file sageBuilder.C.

References SageInterface::setSourcePositionAtRootAndAllChildren().

Referenced by buildFunctionParameterList(), buildInitializedName(), buildInitializedName(), and buildVarRefExp().

◆ buildInitializedName() [2/3]

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.

Definition at line 1276 of file sageBuilder.C.

References buildInitializedName().

◆ buildInitializedName() [3/3]

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.

Definition at line 1283 of file sageBuilder.C.

References buildInitializedName().

◆ buildInitializedName_nfi()

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.

Definition at line 1292 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

Referenced by buildFunctionParameterList_nfi(), and buildVariableDeclaration_nfi().

◆ buildFunctionParameterTypeList() [1/3]

SgFunctionParameterTypeList * SageBuilder::buildFunctionParameterTypeList ( SgFunctionParameterList paralist)

◆ buildFunctionParameterTypeList() [2/3]

SgFunctionParameterTypeList * SageBuilder::buildFunctionParameterTypeList ( SgExprListExp expList)

Build SgFunctionParameterTypeList from an expression list, useful when building a function call.

Definition at line 2314 of file sageBuilder.C.

References SgFunctionParameterTypeList::get_arguments(), and SageInterface::setSourcePositionAtRootAndAllChildren().

◆ buildFunctionParameterTypeList() [3/3]

SgFunctionParameterTypeList * SageBuilder::buildFunctionParameterTypeList ( SgType type0 = NULL,
SgType type1 = NULL,
SgType type2 = NULL,
SgType type3 = NULL,
SgType type4 = NULL,
SgType type5 = NULL,
SgType type6 = NULL,
SgType type7 = NULL 
)

Build an SgFunctionParameterTypeList from SgTypes. To build an.

Definition at line 2334 of file sageBuilder.C.

References SgFunctionParameterTypeList::get_arguments().

◆ buildVariableDeclaration() [1/3]

SgVariableDeclaration * SageBuilder::buildVariableDeclaration ( const SgName name,
SgType type,
SgInitializer varInit = NULL,
SgScopeStatement scope = NULL 
)

◆ buildVariableDeclaration() [2/3]

SgVariableDeclaration * SageBuilder::buildVariableDeclaration ( const std::string &  name,
SgType type,
SgInitializer varInit = NULL,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 1812 of file sageBuilder.C.

References buildVariableDeclaration().

◆ buildVariableDeclaration() [3/3]

SgVariableDeclaration * SageBuilder::buildVariableDeclaration ( const char *  name,
SgType type,
SgInitializer varInit = NULL,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 1819 of file sageBuilder.C.

References buildVariableDeclaration().

◆ buildVariableDeclaration_nfi()

SgVariableDeclaration * SageBuilder::buildVariableDeclaration_nfi ( const SgName name,
SgType type,
SgInitializer varInit,
SgScopeStatement scope,
bool  builtFromUseOnly = false,
SgStorageModifier::storage_modifier_enum  sm = SgStorageModifier::e_default 
)

◆ buildVariableDefinition_nfi()

SgVariableDefinition * SageBuilder::buildVariableDefinition_nfi ( SgVariableDeclaration decl,
SgInitializedName init_name,
SgInitializer init 
)

◆ buildTemplateVariableDeclaration_nfi()

SgTemplateVariableDeclaration * SageBuilder::buildTemplateVariableDeclaration_nfi ( const SgName name,
SgType type,
SgInitializer varInit,
SgScopeStatement scope 
)

◆ buildTemplateVariableDeclaration()

SgTemplateVariableDeclaration * SageBuilder::buildTemplateVariableDeclaration ( const SgName name,
SgType type,
SgInitializer varInit,
SgScopeStatement scope 
)

Build template variable declarations.

Definition at line 1762 of file sageBuilder.C.

References buildTemplateVariableDeclaration_nfi(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildTypedefDeclaration()

SgTypedefDeclaration * SageBuilder::buildTypedefDeclaration ( 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;.

Build a typedef declaration, such as: typedef int myint;.

Definition at line 1827 of file sageBuilder.C.

References buildTypedefDeclaration_nfi(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildTypedefDeclaration_nfi()

SgTypedefDeclaration * SageBuilder::buildTypedefDeclaration_nfi ( const std::string &  name,
SgType base_type,
SgScopeStatement scope = NULL,
bool  has_defining_base = false 
)

◆ buildTemplateTypedefDeclaration_nfi()

SgTemplateTypedefDeclaration * SageBuilder::buildTemplateTypedefDeclaration_nfi ( const SgName name,
SgType base_type,
SgScopeStatement scope = NULL,
bool  has_defining_base = false 
)

◆ buildTemplateInstantiationTypedefDeclaration_nfi()

ROSE_DLL_API SgTemplateInstantiationTypedefDeclaration * SageBuilder::buildTemplateInstantiationTypedefDeclaration_nfi ( SgName name,
SgType base_type,
SgScopeStatement scope,
bool  has_defining_base,
SgTemplateTypedefDeclaration templateTypedefDeclaration,
SgTemplateArgumentPtrList &  templateArgumentsList 
)

◆ buildFunctionParameterList() [1/2]

SgFunctionParameterList * SageBuilder::buildFunctionParameterList ( SgInitializedName in1 = NULL,
SgInitializedName in2 = NULL,
SgInitializedName in3 = NULL,
SgInitializedName in4 = NULL,
SgInitializedName in5 = NULL,
SgInitializedName in6 = NULL,
SgInitializedName in7 = NULL,
SgInitializedName in8 = NULL,
SgInitializedName in9 = NULL,
SgInitializedName in10 = NULL 
)

◆ buildFunctionParameterList_nfi() [1/2]

SgFunctionParameterList * SageBuilder::buildFunctionParameterList_nfi ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 2258 of file sageBuilder.C.

References SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionNull().

◆ buildFunctionParameterList() [2/2]

SgFunctionParameterList * SageBuilder::buildFunctionParameterList ( SgFunctionParameterTypeList paraTypeList)

Build an SgFunctionParameterList from SgFunctionParameterTypeList, like (int, float,...), used for parameter list of prototype functions when function type( including parameter type list) is known.

Definition at line 6075 of file sageBuilder.C.

References SageInterface::appendArg(), buildFunctionParameterList(), buildInitializedName(), and SgFunctionParameterTypeList::get_arguments().

◆ buildFunctionParameterList_nfi() [2/2]

SgFunctionParameterList * SageBuilder::buildFunctionParameterList_nfi ( SgFunctionParameterTypeList paraTypeList)

Build a variable declaration, handle symbol table transparently.

Definition at line 6092 of file sageBuilder.C.

References SageInterface::appendArg(), buildFunctionParameterList(), buildInitializedName_nfi(), and SgFunctionParameterTypeList::get_arguments().

◆ buildCtorInitializerList_nfi()

SgCtorInitializerList * SageBuilder::buildCtorInitializerList_nfi ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 2271 of file sageBuilder.C.

References SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionNull().

◆ setTemplateNameInTemplateInstantiations()

void SageBuilder::setTemplateNameInTemplateInstantiations ( SgFunctionDeclaration func,
const SgName name 
)

◆ setTemplateArgumentParents()

void SageBuilder::setTemplateArgumentParents ( SgDeclarationStatement decl)

◆ testTemplateArgumentParents()

void SageBuilder::testTemplateArgumentParents ( SgDeclarationStatement decl)

◆ getTemplateArgumentList()

SgTemplateArgumentPtrList * SageBuilder::getTemplateArgumentList ( SgDeclarationStatement decl)

◆ testTemplateParameterParents()

void SageBuilder::testTemplateParameterParents ( SgDeclarationStatement decl)

DQ (9/16/2012): Added function to support setting the template parameters and setting their parents (and for any relevant declaration).

Definition at line 1146 of file sageBuilder.C.

References SgNode::class_name(), SgDeclarationStatement::class_name(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), and getTemplateParameterList().

Referenced by setTemplateParameterParents(), and setTemplateParametersInDeclaration().

◆ setTemplateParameterParents()

void SageBuilder::setTemplateParameterParents ( SgDeclarationStatement decl)

◆ getTemplateParameterList()

SgTemplateParameterPtrList * SageBuilder::getTemplateParameterList ( SgDeclarationStatement decl)

Build a variable declaration, handle symbol table transparently.

Definition at line 907 of file sageBuilder.C.

References SgDeclarationStatement::class_name(), and SgDeclarationStatement::variantT().

Referenced by setTemplateParameterParents(), setTemplateParametersInDeclaration(), and testTemplateParameterParents().

◆ setTemplateArgumentsInDeclaration()

void SageBuilder::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).

Definition at line 1188 of file sageBuilder.C.

References getTemplateArgumentList(), setTemplateArgumentParents(), testTemplateArgumentParents(), and SgDeclarationStatement::variantT().

Referenced by buildClassDeclaration_nfi(), buildDefiningFunctionDeclaration_T(), buildNondefiningClassDeclaration_nfi(), and buildTemplateInstantiationTypedefDeclaration_nfi().

◆ setTemplateSpecializationArgumentsInDeclaration()

void SageBuilder::setTemplateSpecializationArgumentsInDeclaration ( SgDeclarationStatement decl,
SgTemplateArgumentPtrList *  templateSpecializationArgumentsList_input 
)

◆ setTemplateParametersInDeclaration()

void SageBuilder::setTemplateParametersInDeclaration ( SgDeclarationStatement decl,
SgTemplateParameterPtrList *  templateParametersList_input 
)

◆ buildNondefiningFunctionDeclaration() [1/2]

SgFunctionDeclaration * SageBuilder::buildNondefiningFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
SgScopeStatement scope = NULL,
SgExprListExp decoratorList = NULL,
bool  buildTemplateInstantiation = false,
SgTemplateArgumentPtrList *  templateArgumentsList = NULL,
SgStorageModifier::storage_modifier_enum  sm = SgStorageModifier::e_default 
)

◆ buildNondefiningFunctionDeclaration() [2/2]

SgFunctionDeclaration * SageBuilder::buildNondefiningFunctionDeclaration ( const SgFunctionDeclaration funcdecl,
SgScopeStatement scope = NULL,
SgExprListExp decoratorList = NULL 
)

Build a prototype for an existing function declaration (defining or nondefining is fine)

Build a prototype for an existing function declaration (defining or nondefining )

Definition at line 3387 of file sageBuilder.C.

References buildNondefiningFunctionDeclaration(), SageInterface::findFunctionType(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgStorageModifier::isExtern(), and SgStorageModifier::setExtern().

◆ buildNondefiningTemplateFunctionDeclaration()

SgTemplateFunctionDeclaration * SageBuilder::buildNondefiningTemplateFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
SgScopeStatement scope = NULL,
SgExprListExp decoratorList = NULL,
SgTemplateParameterPtrList *  templateParameterList = NULL 
)

◆ buildDefiningTemplateFunctionDeclaration()

SgTemplateFunctionDeclaration * SageBuilder::buildDefiningTemplateFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
SgScopeStatement scope,
SgExprListExp decoratorList,
SgTemplateFunctionDeclaration first_nondefining_declaration 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 3514 of file sageBuilder.C.

References SgDeclarationStatement::get_firstNondefiningDeclaration().

◆ buildDefaultConstructor()

SgMemberFunctionDeclaration * SageBuilder::buildDefaultConstructor ( SgClassType classType)

◆ buildNondefiningMemberFunctionDeclaration() [1/2]

SgMemberFunctionDeclaration * SageBuilder::buildNondefiningMemberFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
SgScopeStatement scope,
SgExprListExp decoratorList,
unsigned int  functionConstVolatileFlags,
bool  buildTemplateInstantiation,
SgTemplateArgumentPtrList *  templateArgumentsList 
)

◆ buildNondefiningTemplateMemberFunctionDeclaration()

SgTemplateMemberFunctionDeclaration * SageBuilder::buildNondefiningTemplateMemberFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
SgScopeStatement scope,
SgExprListExp decoratorList,
unsigned int  functionConstVolatileFlags,
SgTemplateParameterPtrList *  templateParameterList 
)

◆ buildDefiningTemplateMemberFunctionDeclaration()

SgTemplateMemberFunctionDeclaration * SageBuilder::buildDefiningTemplateMemberFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
SgScopeStatement scope,
SgExprListExp decoratorList,
unsigned int  functionConstVolatileFlags,
SgTemplateMemberFunctionDeclaration first_nondefing_declaration 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 3532 of file sageBuilder.C.

References SgDeclarationStatement::get_firstNondefiningDeclaration().

◆ buildDefiningMemberFunctionDeclaration() [1/2]

SgMemberFunctionDeclaration * SageBuilder::buildDefiningMemberFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
SgScopeStatement scope,
SgExprListExp decoratorList,
bool  buildTemplateInstantiation,
unsigned int  functionConstVolatileFlags,
SgMemberFunctionDeclaration first_nondefinng_declaration,
SgTemplateArgumentPtrList *  templateArgumentsList 
)

◆ buildNondefiningMemberFunctionDeclaration() [2/2]

SgMemberFunctionDeclaration * SageBuilder::buildNondefiningMemberFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parameter_list,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 3450 of file sageBuilder.C.

References buildNondefiningMemberFunctionDeclaration().

◆ buildDefiningMemberFunctionDeclaration() [2/2]

SgMemberFunctionDeclaration * SageBuilder::buildDefiningMemberFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parameter_list,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 3459 of file sageBuilder.C.

References buildDefiningMemberFunctionDeclaration(), buildFunctionParameterTypeList(), buildMemberFunctionType(), buildNondefiningMemberFunctionDeclaration(), and topScopeStack().

◆ buildDefiningFunctionDeclaration() [1/2]

SgFunctionDeclaration * SageBuilder::buildDefiningFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
SgScopeStatement scope,
SgExprListExp decoratorList,
bool  buildTemplateInstantiation = false,
SgFunctionDeclaration first_nondefinng_declaration = NULL,
SgTemplateArgumentPtrList *  templateArgumentsList = NULL 
)

Build a function declaration with a function body.

Definition at line 4097 of file sageBuilder.C.

Referenced by buildDefiningFunctionDeclaration(), and buildLambdaRefExp().

◆ buildDefiningFunctionDeclaration() [2/2]

SgFunctionDeclaration * SageBuilder::buildDefiningFunctionDeclaration ( const SgName name,
SgType return_type,
SgFunctionParameterList parameter_list,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 4128 of file sageBuilder.C.

References buildDefiningFunctionDeclaration(), buildFunctionType(), buildNondefiningFunctionDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), and topScopeStack().

◆ buildProcedureHeaderStatement() [1/2]

SgProcedureHeaderStatement * SageBuilder::buildProcedureHeaderStatement ( const SgName name,
SgType return_type,
SgFunctionParameterList parameter_list,
SgProcedureHeaderStatement::subprogram_kind_enum  kind,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 4194 of file sageBuilder.C.

References buildFunctionType(), buildProcedureHeaderStatement(), SgStorageModifier::e_default, SgDeclarationStatement::get_firstNondefiningDeclaration(), and topScopeStack().

Referenced by buildProcedureHeaderStatement().

◆ buildProcedureHeaderStatement() [2/2]

SgProcedureHeaderStatement * SageBuilder::buildProcedureHeaderStatement ( const char *  name,
SgType return_type,
SgFunctionParameterList parlist,
SgProcedureHeaderStatement::subprogram_kind_enum  kind,
SgScopeStatement scope,
SgProcedureHeaderStatement first_nondefining_declaration 
)

◆ buildNondefiningProcedureHeaderStatement()

SgProcedureHeaderStatement * SageBuilder::buildNondefiningProcedureHeaderStatement ( const SgName name,
SgType return_type,
SgFunctionParameterList param_list,
SgProcedureHeaderStatement::subprogram_kind_enum  kind,
SgScopeStatement scope = NULL 
)

Build a nondefining SgProcedureHeaderStatement, handle function type, symbol etc transparently.

Definition at line 4167 of file sageBuilder.C.

References SgStorageModifier::e_default, SgDeclarationStatement::get_firstNondefiningDeclaration(), and topScopeStack().

◆ buildFunctionCallStmt() [1/2]

SgExprStatement * SageBuilder::buildFunctionCallStmt ( const SgName name,
SgType return_type,
SgExprListExp parameters = NULL,
SgScopeStatement scope = NULL 
)

Build a regular function call statement.

Definition at line 6476 of file sageBuilder.C.

References buildExprStatement(), buildFunctionCallExp(), and topScopeStack().

◆ buildFunctionCallStmt() [2/2]

SgExprStatement * SageBuilder::buildFunctionCallStmt ( SgExpression function,
SgExprListExp parameters = NULL 
)

Build a function call statement using function expression and argument list only, like (*funcPtr)(args);.

Definition at line 6491 of file sageBuilder.C.

References buildExprStatement(), and buildFunctionCallExp().

◆ buildLabelStatement()

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.

Definition at line 6681 of file sageBuilder.C.

References SageInterface::fixLabelStatement(), SageInterface::is_Fortran_language(), SgNode::set_parent(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().

Referenced by SageInterface::addStepToLoopBody(), and SageInterface::changeBreakStatementsToGotos().

◆ buildLabelStatement_nfi()

SgLabelStatement * SageBuilder::buildLabelStatement_nfi ( const SgName name,
SgStatement stmt,
SgScopeStatement scope 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 6706 of file sageBuilder.C.

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

◆ buildGotoStatement() [1/2]

SgGotoStatement * SageBuilder::buildGotoStatement ( SgLabelStatement label = NULL)

◆ buildGotoStatement_nfi() [1/2]

SgGotoStatement * SageBuilder::buildGotoStatement_nfi ( SgLabelStatement label)

Build a variable declaration, handle symbol table transparently.

Definition at line 7818 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildGotoStatement() [2/2]

SgGotoStatement * SageBuilder::buildGotoStatement ( SgLabelSymbol symbol)

Build a goto statement from a label symbol, supporting both C/C++ and Fortran cases.

Definition at line 7796 of file sageBuilder.C.

References buildGotoStatement(), buildLabelRefExp(), SageInterface::is_Fortran_language(), and SgNode::set_parent().

◆ buildGotoStatement_nfi() [2/2]

SgGotoStatement * SageBuilder::buildGotoStatement_nfi ( SgExpression expr)

Build a goto statement from a label expression, supporting only C/C++ and not Fortran cases.

Definition at line 7828 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildCaseOptionStmt()

SgCaseOptionStmt * SageBuilder::buildCaseOptionStmt ( SgExpression key = NULL,
SgStatement body = NULL 
)

Build a case option statement.

Definition at line 7866 of file sageBuilder.C.

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

◆ buildCaseOptionStmt_nfi()

SgCaseOptionStmt * SageBuilder::buildCaseOptionStmt_nfi ( SgExpression key,
SgStatement body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7876 of file sageBuilder.C.

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

◆ buildDefaultOptionStmt()

SgDefaultOptionStmt * SageBuilder::buildDefaultOptionStmt ( SgStatement body = NULL)

Build a default option statement.

Definition at line 7886 of file sageBuilder.C.

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

◆ buildDefaultOptionStmt_nfi()

SgDefaultOptionStmt * SageBuilder::buildDefaultOptionStmt_nfi ( SgStatement body)

Build a variable declaration, handle symbol table transparently.

Definition at line 7904 of file sageBuilder.C.

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

◆ buildExprStatement()

SgExprStatement * SageBuilder::buildExprStatement ( SgExpression exp = NULL)

◆ buildExprStatement_nfi()

SgExprStatement * SageBuilder::buildExprStatement_nfi ( SgExpression exp)

Build a variable declaration, handle symbol table transparently.

Definition at line 6343 of file sageBuilder.C.

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

◆ buildStatementExpression()

SgStatementExpression * SageBuilder::buildStatementExpression ( SgStatement exp)

Build a GNU statement expression.

Definition at line 6354 of file sageBuilder.C.

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

◆ buildStatementExpression_nfi()

SgStatementExpression * SageBuilder::buildStatementExpression_nfi ( SgStatement exp)

Build a variable declaration, handle symbol table transparently.

Definition at line 6366 of file sageBuilder.C.

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

◆ buildSwitchStatement() [1/2]

SgSwitchStatement * SageBuilder::buildSwitchStatement ( SgStatement item_selector = NULL,
SgStatement body = NULL 
)

◆ buildSwitchStatement() [2/2]

SgSwitchStatement * SageBuilder::buildSwitchStatement ( SgExpression item_selector,
SgStatement body = NULL 
)
inline

Build a variable declaration, handle symbol table transparently.

Definition at line 1232 of file sageBuilder.h.

References buildExprStatement(), and buildSwitchStatement().

◆ buildSwitchStatement_nfi()

SgSwitchStatement * SageBuilder::buildSwitchStatement_nfi ( SgStatement item_selector,
SgStatement body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7948 of file sageBuilder.C.

References SageInterface::initializeSwitchStatement(), SgNode::set_parent(), SageInterface::setOneSourcePositionNull(), and symbol_table_case_insensitive_semantics.

◆ buildIfStmt() [1/2]

SgIfStmt * SageBuilder::buildIfStmt ( SgStatement conditional,
SgStatement true_body,
SgStatement false_body 
)

◆ buildIfStmt() [2/2]

SgIfStmt * SageBuilder::buildIfStmt ( SgExpression conditional,
SgStatement true_body,
SgStatement false_body 
)
inline

Build a variable declaration, handle symbol table transparently.

Definition at line 1239 of file sageBuilder.h.

References buildExprStatement(), and buildIfStmt().

◆ buildIfStmt_nfi()

SgIfStmt * SageBuilder::buildIfStmt_nfi ( SgStatement conditional,
SgStatement true_body,
SgStatement false_body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 6759 of file sageBuilder.C.

References SageInterface::initializeIfStmt().

◆ buildFortranDo()

SgFortranDo * SageBuilder::buildFortranDo ( SgExpression initialization,
SgExpression bound,
SgExpression increment,
SgBasicBlock loopBody 
)

◆ buildFortranDo_nfi()

SgFortranDo * SageBuilder::buildFortranDo_nfi ( SgExpression initialization,
SgExpression bound,
SgExpression increment,
SgBasicBlock loopBody 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 6793 of file sageBuilder.C.

References buildBasicBlock_nfi(), buildNullExpression_nfi(), SageInterface::is_language_case_insensitive(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildForInitStatement() [1/3]

SgForInitStatement * SageBuilder::buildForInitStatement ( )

Build a for init statement.

Definition at line 6818 of file sageBuilder.C.

References SageInterface::setSourcePosition().

◆ buildForInitStatement() [2/3]

SgForInitStatement * SageBuilder::buildForInitStatement ( const SgStatementPtrList &  statements)

Build a variable declaration, handle symbol table transparently.

Definition at line 6845 of file sageBuilder.C.

References SgForInitStatement::get_init_stmt(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildForInitStatement_nfi()

SgForInitStatement * SageBuilder::buildForInitStatement_nfi ( SgStatementPtrList &  statements)

Build a variable declaration, handle symbol table transparently.

Definition at line 6858 of file sageBuilder.C.

References SgForInitStatement::get_init_stmt(), and SageInterface::setSourcePosition().

◆ buildForInitStatement() [3/3]

SgForInitStatement * SageBuilder::buildForInitStatement ( SgStatement statement)

Build a variable declaration, handle symbol table transparently.

Definition at line 6831 of file sageBuilder.C.

References SageInterface::setSourcePosition().

◆ buildForStatement()

SgForStatement * SageBuilder::buildForStatement ( SgStatement initialize_stmt,
SgStatement test,
SgExpression increment,
SgStatement loop_body,
SgStatement else_body = NULL 
)

◆ buildForStatement_nfi() [1/3]

SgForStatement * SageBuilder::buildForStatement_nfi ( SgStatement initialize_stmt,
SgStatement test,
SgExpression increment,
SgStatement loop_body,
SgStatement else_body = NULL 
)

Based on the contribution from Pradeep Srinivasa@ LANL.

Definition at line 6949 of file sageBuilder.C.

References SgForStatement::get_for_init_stmt(), SageInterface::is_language_case_insensitive(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

Referenced by buildForStatement_nfi().

◆ buildForStatement_nfi() [2/3]

SgForStatement * SageBuilder::buildForStatement_nfi ( SgForInitStatement init_stmt,
SgStatement test,
SgExpression increment,
SgStatement loop_body,
SgStatement else_body = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 6981 of file sageBuilder.C.

References buildForStatement_nfi().

◆ buildForStatement_nfi() [3/3]

void SageBuilder::buildForStatement_nfi ( SgForStatement result,
SgForInitStatement init_stmt,
SgStatement test,
SgExpression increment,
SgStatement loop_body,
SgStatement else_body = NULL 
)

◆ buildRangeBasedForStatement_nfi()

SgRangeBasedForStatement * SageBuilder::buildRangeBasedForStatement_nfi ( SgVariableDeclaration initializer,
SgVariableDeclaration range,
SgVariableDeclaration begin_declaration,
SgVariableDeclaration end_declaration,
SgExpression not_equal_expression,
SgExpression increment_expression,
SgStatement body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7060 of file sageBuilder.C.

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

◆ buildDoWhileStatement_nfi()

void SageBuilder::buildDoWhileStatement_nfi ( SgDoWhileStmt result,
SgStatement body,
SgStatement condition 
)

◆ buildUpcForAllStatement_nfi() [1/2]

SgUpcForAllStatement * SageBuilder::buildUpcForAllStatement_nfi ( SgStatement initialize_stmt,
SgStatement test,
SgExpression increment,
SgExpression affinity,
SgStatement loop_body 
)

Build a UPC forall statement.

Based on the contribution from Pradeep Srinivasa@ LANL.

Definition at line 7129 of file sageBuilder.C.

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

◆ buildUpcForAllStatement_nfi() [2/2]

SgUpcForAllStatement * SageBuilder::buildUpcForAllStatement_nfi ( SgForInitStatement init_stmt,
SgStatement test,
SgExpression increment,
SgExpression affinity,
SgStatement loop_body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7151 of file sageBuilder.C.

References SageInterface::is_language_case_insensitive(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildUpcNotifyStatement_nfi()

SgUpcNotifyStatement * SageBuilder::buildUpcNotifyStatement_nfi ( SgExpression exp)

Build a UPC notify statement.

Definition at line 7173 of file sageBuilder.C.

References SgNode::get_parent(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildUpcWaitStatement_nfi()

SgUpcWaitStatement * SageBuilder::buildUpcWaitStatement_nfi ( SgExpression exp)

Build a UPC wait statement.

Definition at line 7187 of file sageBuilder.C.

References SgNode::get_parent(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildUpcBarrierStatement_nfi()

SgUpcBarrierStatement * SageBuilder::buildUpcBarrierStatement_nfi ( SgExpression exp)

Build a UPC barrier statement.

Definition at line 7201 of file sageBuilder.C.

References SgNode::get_parent(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildUpcFenceStatement_nfi()

SgUpcFenceStatement * SageBuilder::buildUpcFenceStatement_nfi ( )

Build a UPC fence statement.

Definition at line 7215 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildWhileStmt() [1/2]

SgWhileStmt * SageBuilder::buildWhileStmt ( SgStatement condition,
SgStatement body,
SgStatement else_body = NULL 
)

◆ buildWhileStmt() [2/2]

SgWhileStmt * SageBuilder::buildWhileStmt ( SgExpression condition,
SgStatement body,
SgStatement else_body = NULL 
)
inline

Build a variable declaration, handle symbol table transparently.

Definition at line 1296 of file sageBuilder.h.

References buildExprStatement(), and buildWhileStmt().

◆ buildWhileStmt_nfi()

SgWhileStmt * SageBuilder::buildWhileStmt_nfi ( SgStatement condition,
SgStatement body,
SgStatement else_body = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7254 of file sageBuilder.C.

References SageInterface::initializeWhileStatement(), SgNode::set_parent(), SageInterface::setOneSourcePositionNull(), and symbol_table_case_insensitive_semantics.

◆ buildWithStatement()

SgWithStatement * SageBuilder::buildWithStatement ( SgExpression expr,
SgStatement body 
)

Build a with statement.

Definition at line 7283 of file sageBuilder.C.

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

◆ buildWithStatement_nfi()

SgWithStatement * SageBuilder::buildWithStatement_nfi ( SgExpression expr,
SgStatement body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7294 of file sageBuilder.C.

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

◆ buildDoWhileStmt() [1/2]

SgDoWhileStmt * SageBuilder::buildDoWhileStmt ( SgStatement body,
SgStatement condition 
)

Build do-while statement.

Definition at line 7305 of file sageBuilder.C.

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

Referenced by buildDoWhileStmt().

◆ buildDoWhileStmt() [2/2]

SgDoWhileStmt * SageBuilder::buildDoWhileStmt ( SgStatement body,
SgExpression condition 
)
inline

Build a variable declaration, handle symbol table transparently.

Definition at line 1307 of file sageBuilder.h.

References buildDoWhileStmt(), and buildExprStatement().

◆ buildDoWhileStmt_nfi()

SgDoWhileStmt * SageBuilder::buildDoWhileStmt_nfi ( SgStatement body,
SgStatement condition 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7317 of file sageBuilder.C.

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

◆ buildPragmaDeclaration()

SgPragmaDeclaration * SageBuilder::buildPragmaDeclaration ( const std::string &  name,
SgScopeStatement scope = NULL 
)

◆ buildPragma()

SgPragma * SageBuilder::buildPragma ( const std::string &  name)

◆ buildEmptyDeclaration()

SgEmptyDeclaration * SageBuilder::buildEmptyDeclaration ( )

◆ buildBasicBlock()

SgBasicBlock * SageBuilder::buildBasicBlock ( 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 
)

◆ buildBasicBlock_nfi() [1/3]

SgBasicBlock * SageBuilder::buildBasicBlock_nfi ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 7736 of file sageBuilder.C.

References SageInterface::is_language_case_insensitive(), and SageInterface::setOneSourcePositionNull().

Referenced by buildBasicBlock_nfi(), buildBasicBlock_nfi(), buildFortranDo_nfi(), and buildJovialForThenStatement_nfi().

◆ buildBasicBlock_nfi() [2/3]

SgBasicBlock * SageBuilder::buildBasicBlock_nfi ( const std::vector< SgStatement * > &  stmts)

Build a variable declaration, handle symbol table transparently.

Definition at line 7757 of file sageBuilder.C.

References SageInterface::appendStatementList(), and buildBasicBlock_nfi().

◆ buildBasicBlock_nfi() [3/3]

SgBasicBlock * SageBuilder::buildBasicBlock_nfi ( SgScopeStatement parent)

Build a SgBasicBlock and set its parent. This function does NOT link the parent scope to the block.

Definition at line 7777 of file sageBuilder.C.

References buildBasicBlock_nfi(), and SgNode::set_parent().

◆ buildAssignStatement()

SgExprStatement * SageBuilder::buildAssignStatement ( SgExpression lhs,
SgExpression rhs 
)

◆ buildAssignStatement_ast_translate()

SgExprStatement * SageBuilder::buildAssignStatement_ast_translate ( SgExpression lhs,
SgExpression rhs 
)

This version does not recursively reset the file info as a transformation.

Definition at line 6654 of file sageBuilder.C.

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

◆ buildBreakStmt()

SgBreakStmt * SageBuilder::buildBreakStmt ( )

Build a break statement.

Definition at line 7340 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildBreakStmt_nfi()

SgBreakStmt * SageBuilder::buildBreakStmt_nfi ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 7348 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildContinueStmt()

SgContinueStmt * SageBuilder::buildContinueStmt ( )

Build a continue statement.

Definition at line 7356 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildContinueStmt_nfi()

SgContinueStmt * SageBuilder::buildContinueStmt_nfi ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 7364 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildFortranContinueStmt()

SgFortranContinueStmt * SageBuilder::buildFortranContinueStmt ( )

Build a Fortran continue statement.

Definition at line 7372 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildFortranContinueStmt_nfi()

SgFortranContinueStmt * SageBuilder::buildFortranContinueStmt_nfi ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 7380 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildPassStatement()

SgPassStatement * SageBuilder::buildPassStatement ( )

Build a pass statement.

Definition at line 7388 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildPassStatement_nfi()

SgPassStatement * SageBuilder::buildPassStatement_nfi ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 7396 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildAssertStmt() [1/2]

SgAssertStmt * SageBuilder::buildAssertStmt ( SgExpression test)

Build a Assert statement.

Definition at line 7420 of file sageBuilder.C.

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

◆ buildAssertStmt() [2/2]

SgAssertStmt * SageBuilder::buildAssertStmt ( SgExpression test,
SgExpression exceptionArgument 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7447 of file sageBuilder.C.

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

◆ buildAssertStmt_nfi()

SgAssertStmt * SageBuilder::buildAssertStmt_nfi ( SgExpression test)

Build a variable declaration, handle symbol table transparently.

Definition at line 7460 of file sageBuilder.C.

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

◆ buildYieldExpression()

SgYieldExpression * SageBuilder::buildYieldExpression ( SgExpression value)

Build a yield statement.

Definition at line 7469 of file sageBuilder.C.

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

◆ buildYieldExpression_nfi()

SgYieldExpression * SageBuilder::buildYieldExpression_nfi ( SgExpression value)

Build a variable declaration, handle symbol table transparently.

Definition at line 7478 of file sageBuilder.C.

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

◆ buildKeyDatumPair()

SgKeyDatumPair * SageBuilder::buildKeyDatumPair ( SgExpression key,
SgExpression datum 
)

Build a key-datum pair.

Definition at line 7487 of file sageBuilder.C.

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

◆ buildKeyDatumPair_nfi()

SgKeyDatumPair * SageBuilder::buildKeyDatumPair_nfi ( SgExpression key,
SgExpression datum 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7497 of file sageBuilder.C.

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

◆ buildDictionaryExp()

SgDictionaryExp * SageBuilder::buildDictionaryExp ( std::vector< SgKeyDatumPair * >  pairs)

Build a list of key-datum pairs.

Definition at line 7507 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildDictionaryExp_nfi()

SgDictionaryExp * SageBuilder::buildDictionaryExp_nfi ( std::vector< SgKeyDatumPair * >  pairs)

Build a variable declaration, handle symbol table transparently.

Definition at line 7517 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildActualArgumentExpression()

SgActualArgumentExpression * SageBuilder::buildActualArgumentExpression ( SgName  arg_name,
SgExpression arg 
)

Build an Actual Argument Expression.

Definition at line 7630 of file sageBuilder.C.

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

◆ buildActualArgumentExpression_nfi()

SgActualArgumentExpression * SageBuilder::buildActualArgumentExpression_nfi ( SgName  arg_name,
SgExpression arg 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7639 of file sageBuilder.C.

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

◆ buildDeleteExp() [2/2]

SgDeleteExp * SageBuilder::buildDeleteExp ( SgExpression target,
bool  is_array = false,
bool  need_global_specifier = false,
SgFunctionDeclaration deleteOperatorDeclaration = NULL 
)

Build a delete statement.

Definition at line 7404 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildDeleteExp_nfi()

SgDeleteExp * SageBuilder::buildDeleteExp_nfi ( SgExpression target,
bool  is_array = false,
bool  need_global_specifier = false,
SgFunctionDeclaration deleteOperatorDeclaration = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 7412 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildDeclarationScope()

SgDeclarationScope * SageBuilder::buildDeclarationScope ( )

◆ buildClassDefinition()

SgClassDefinition * SageBuilder::buildClassDefinition ( SgClassDeclaration d = NULL,
bool  buildTemplateInstantiation = false 
)

◆ buildClassDefinition_nfi()

SgClassDefinition * SageBuilder::buildClassDefinition_nfi ( SgClassDeclaration d = NULL,
bool  buildTemplateInstantiation = false 
)

Build a class definition scope statement.

Definition at line 9848 of file sageBuilder.C.

References SageInterface::is_language_case_insensitive(), and SageInterface::setOneSourcePositionNull().

◆ buildTemplateClassDefinition()

SgTemplateClassDefinition * SageBuilder::buildTemplateClassDefinition ( SgTemplateClassDeclaration d = NULL)

Build a template class definition statement.

Definition at line 12615 of file sageBuilder.C.

References SageInterface::is_language_case_insensitive(), and SageInterface::setOneSourcePositionForTransformation().

Referenced by buildTemplateClassDeclaration_nfi().

◆ buildNondefiningClassDeclaration_nfi()

SgClassDeclaration * SageBuilder::buildNondefiningClassDeclaration_nfi ( const SgName name,
SgClassDeclaration::class_types  kind,
SgScopeStatement scope,
bool  buildTemplateInstantiation,
SgTemplateArgumentPtrList *  templateArgumentsList 
)

◆ buildNondefiningTemplateClassDeclaration_nfi()

SgTemplateClassDeclaration * SageBuilder::buildNondefiningTemplateClassDeclaration_nfi ( const SgName name,
SgClassDeclaration::class_types  kind,
SgScopeStatement scope,
SgTemplateParameterPtrList *  templateParameterList,
SgTemplateArgumentPtrList *  templateSpecializationArgumentList 
)

◆ buildNondefiningTemplateClassDeclaration()

SgTemplateClassDeclaration * SageBuilder::buildNondefiningTemplateClassDeclaration ( const SgName name,
SgClassDeclaration::class_types  kind,
SgScopeStatement scope,
SgTemplateParameterPtrList *  templateParameterList,
SgTemplateArgumentPtrList *  templateSpecializationArgumentList 
)

◆ buildNondefiningClassDeclaration()

SgClassDeclaration * SageBuilder::buildNondefiningClassDeclaration ( SgName  name,
SgScopeStatement scope 
)

◆ buildDefiningClassDeclaration()

SgClassDeclaration * SageBuilder::buildDefiningClassDeclaration ( SgName  name,
SgScopeStatement scope 
)

◆ buildClassDeclaration()

SgClassDeclaration * SageBuilder::buildClassDeclaration ( SgName  name,
SgScopeStatement scope 
)

Build C++ class (builds both the non-defining and defining declarations; in that order).

Definition at line 11427 of file sageBuilder.C.

References buildDefiningClassDeclaration().

◆ buildNondefiningEnumDeclaration_nfi()

SgEnumDeclaration * SageBuilder::buildNondefiningEnumDeclaration_nfi ( const SgName name,
SgScopeStatement scope 
)

◆ buildStructDeclaration() [1/3]

SgClassDeclaration * SageBuilder::buildStructDeclaration ( const SgName name,
SgScopeStatement scope = NULL 
)

◆ buildStructDeclaration() [2/3]

SgClassDeclaration * SageBuilder::buildStructDeclaration ( const std::string &  name,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 12587 of file sageBuilder.C.

References buildStructDeclaration().

◆ buildStructDeclaration() [3/3]

SgClassDeclaration * SageBuilder::buildStructDeclaration ( const char *  name,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 12593 of file sageBuilder.C.

References buildStructDeclaration().

◆ buildStmtDeclarationStatement()

SgStmtDeclarationStatement * SageBuilder::buildStmtDeclarationStatement ( SgStatement stmt)

◆ buildStmtDeclarationStatement_nfi()

SgStmtDeclarationStatement * SageBuilder::buildStmtDeclarationStatement_nfi ( SgStatement stmt)

Build a variable declaration, handle symbol table transparently.

Definition at line 10328 of file sageBuilder.C.

References SgDeclarationStatement::set_definingDeclaration(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildNamespaceDeclaration()

SgNamespaceDeclarationStatement * SageBuilder::buildNamespaceDeclaration ( const SgName name,
SgScopeStatement scope = NULL 
)

tps (09/02/2009) : Added support for building namespaces

Definition at line 10862 of file sageBuilder.C.

References buildNamespaceDeclaration_nfi(), SgDeclarationStatement::get_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildNamespaceDeclaration_nfi()

SgNamespaceDeclarationStatement * SageBuilder::buildNamespaceDeclaration_nfi ( const SgName name,
bool  unnamednamespace,
SgScopeStatement scope 
)

◆ buildNamespaceDefinition()

SgNamespaceDefinitionStatement * SageBuilder::buildNamespaceDefinition ( SgNamespaceDeclarationStatement d = NULL)

Build a variable declaration, handle symbol table transparently.

Definition at line 9785 of file sageBuilder.C.

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

Referenced by buildNamespaceDeclaration_nfi().

◆ buildNamespaceAliasDeclarationStatement()

SgNamespaceAliasDeclarationStatement * SageBuilder::buildNamespaceAliasDeclarationStatement ( const SgName name,
SgNamespaceDeclarationStatement namespaceDeclaration 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 10852 of file sageBuilder.C.

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

◆ buildNaryComparisonOp()

SgNaryComparisonOp * SageBuilder::buildNaryComparisonOp ( SgExpression lhs)

driscoll6 (7/20/11) : Support n-ary operators for python

Definition at line 11163 of file sageBuilder.C.

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

◆ buildNaryComparisonOp_nfi()

SgNaryComparisonOp * SageBuilder::buildNaryComparisonOp_nfi ( SgExpression lhs)

Build a variable declaration, handle symbol table transparently.

Definition at line 11174 of file sageBuilder.C.

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

◆ buildNaryBooleanOp()

SgNaryBooleanOp * SageBuilder::buildNaryBooleanOp ( SgExpression lhs)

Build a variable declaration, handle symbol table transparently.

Definition at line 11185 of file sageBuilder.C.

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

◆ buildNaryBooleanOp_nfi()

SgNaryBooleanOp * SageBuilder::buildNaryBooleanOp_nfi ( SgExpression lhs)

Build a variable declaration, handle symbol table transparently.

Definition at line 11196 of file sageBuilder.C.

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

◆ buildStringConversion()

SgStringConversion * SageBuilder::buildStringConversion ( SgExpression exp)

Build a variable declaration, handle symbol table transparently.

Definition at line 11207 of file sageBuilder.C.

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

◆ buildStringConversion_nfi()

SgStringConversion * SageBuilder::buildStringConversion_nfi ( SgExpression exp)

Build a variable declaration, handle symbol table transparently.

Definition at line 11218 of file sageBuilder.C.

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

◆ buildClassDeclaration_nfi()

SgClassDeclaration * SageBuilder::buildClassDeclaration_nfi ( const SgName name,
SgClassDeclaration::class_types  kind,
SgScopeStatement scope,
SgClassDeclaration nonDefiningDecl,
bool  buildTemplateInstantiation,
SgTemplateArgumentPtrList *  templateArgumentsList 
)

◆ buildTemplateClassDeclaration_nfi()

SgTemplateClassDeclaration * SageBuilder::buildTemplateClassDeclaration_nfi ( const SgName name,
SgClassDeclaration::class_types  kind,
SgScopeStatement scope,
SgTemplateClassDeclaration nonDefiningDecl,
SgTemplateParameterPtrList *  templateParameterList,
SgTemplateArgumentPtrList *  templateSpecializationArgumentList 
)

◆ buildTemplateClassDeclaration()

SgTemplateClassDeclaration * SageBuilder::buildTemplateClassDeclaration ( const SgName name,
SgClassDeclaration::class_types  kind,
SgScopeStatement scope,
SgTemplateClassDeclaration nonDefiningDecl,
SgTemplateParameterPtrList *  templateParameterList,
SgTemplateArgumentPtrList *  templateSpecializationArgumentList 
)

Build tempplate class declaration.

Definition at line 13006 of file sageBuilder.C.

References buildTemplateClassDeclaration_nfi(), and SageInterface::setSourcePositionForTransformation().

◆ buildJovialDefineDeclaration_nfi()

SgJovialDefineDeclaration * SageBuilder::buildJovialDefineDeclaration_nfi ( const SgName name,
const std::string &  params,
const std::string &  def_string,
SgScopeStatement scope = NULL 
)

Build a Jovial define directive declaration statement.

Definition at line 10352 of file sageBuilder.C.

References SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SageInterface::setSourcePosition(), and topScopeStack().

◆ buildJovialForThenStatement_nfi()

SgJovialForThenStatement * SageBuilder::buildJovialForThenStatement_nfi ( )

Build a Jovial loop statement.

Two variants are FOR and WHILE. A loop body will be created and its parent set to the loop statement.

Definition at line 10380 of file sageBuilder.C.

References buildBasicBlock_nfi(), SageInterface::is_language_case_insensitive(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().

◆ buildDerivedTypeStatement()

SgDerivedTypeStatement * SageBuilder::buildDerivedTypeStatement ( const SgName name,
SgScopeStatement scope = NULL 
)

Build an SgDerivedTypeStatement Fortran derived type declaration with a class declaration and definition (creating both the defining and nondefining declarations as required).

Build a Fortran derived type declaration.

Definition at line 10455 of file sageBuilder.C.

References SgClassDeclaration::e_struct, SgDeclarationStatement::get_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildModuleStatement()

SgModuleStatement * SageBuilder::buildModuleStatement ( const SgName name,
SgScopeStatement scope 
)

◆ buildJovialTableStatement()

SgJovialTableStatement * SageBuilder::buildJovialTableStatement ( const SgName name,
SgClassDeclaration::class_types  kind,
SgScopeStatement scope = NULL 
)

Build a Jovial table declaration statement.

Build a Jovial table declaration statement. A Jovial table is essentially a C struct with an optional struct size.

Definition at line 10481 of file sageBuilder.C.

References SgDeclarationStatement::get_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildJovialTableType()

SgJovialTableType * SageBuilder::buildJovialTableType ( const SgName name,
SgType base_type,
SgExprListExp dim_info,
SgScopeStatement scope = NULL 
)

Build a Jovial table type with required class definition and defining and nondefining declarations.

Definition at line 10495 of file sageBuilder.C.

References SgClassDeclaration::e_jovial_table, SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildEnumDeclaration()

SgEnumDeclaration * SageBuilder::buildEnumDeclaration ( const SgName name,
SgScopeStatement scope = NULL 
)

◆ buildEnumDeclaration_nfi()

SgEnumDeclaration * SageBuilder::buildEnumDeclaration_nfi ( const SgName name,
SgScopeStatement scope = NULL 
)

◆ buildReturnStmt()

SgReturnStmt * SageBuilder::buildReturnStmt ( SgExpression expression = NULL)

Build a return statement.

Definition at line 7839 of file sageBuilder.C.

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

◆ buildReturnStmt_nfi()

SgReturnStmt * SageBuilder::buildReturnStmt_nfi ( SgExpression expression)

Build a return statement.

Definition at line 7857 of file sageBuilder.C.

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

◆ buildNullStatement()

SgNullStatement * SageBuilder::buildNullStatement ( )

Build a NULL statement.

Definition at line 7970 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

◆ buildNullStatement_nfi()

SgNullStatement * SageBuilder::buildNullStatement_nfi ( )

Build a NULL statement.

Definition at line 7980 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildCatchOptionStmt()

SgCatchOptionStmt * SageBuilder::buildCatchOptionStmt ( SgVariableDeclaration condition = NULL,
SgStatement body = NULL 
)

Build a catch statement.

Definition at line 8206 of file sageBuilder.C.

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

◆ buildAsyncStmt()

SgAsyncStmt * SageBuilder::buildAsyncStmt ( SgBasicBlock body)

MH (6/10/2014): Added async support.

Definition at line 8024 of file sageBuilder.C.

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

◆ buildFinishStmt()

SgFinishStmt * SageBuilder::buildFinishStmt ( SgBasicBlock body)

MH (6/11/2014): Added finish support.

Definition at line 8036 of file sageBuilder.C.

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

◆ buildAtStmt()

SgAtStmt * SageBuilder::buildAtStmt ( SgExpression expression,
SgBasicBlock body 
)

MH (6/11/2014): Added at support.

Definition at line 8048 of file sageBuilder.C.

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

◆ buildAtomicStmt()

SgAtomicStmt * SageBuilder::buildAtomicStmt ( SgBasicBlock body)

Build a variable declaration, handle symbol table transparently.

Definition at line 8061 of file sageBuilder.C.

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

◆ buildWhenStmt()

SgWhenStmt * SageBuilder::buildWhenStmt ( SgExpression expression,
SgBasicBlock body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 8073 of file sageBuilder.C.

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

◆ buildAtExp()

SgAtExp * SageBuilder::buildAtExp ( SgExpression expression,
SgBasicBlock body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 8086 of file sageBuilder.C.

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

◆ buildFinishExp()

SgFinishExp * SageBuilder::buildFinishExp ( SgExpression expression,
SgBasicBlock body 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 8099 of file sageBuilder.C.

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

◆ buildHereExpression()

SgHereExp * SageBuilder::buildHereExpression ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 8111 of file sageBuilder.C.

◆ buildDotDotExp()

SgDotDotExp * SageBuilder::buildDotDotExp ( )

Build a variable declaration, handle symbol table transparently.

Definition at line 8117 of file sageBuilder.C.

◆ buildTryStmt() [1/2]

SgTryStmt * SageBuilder::buildTryStmt ( SgStatement body,
SgCatchOptionStmt catch0 = NULL,
SgCatchOptionStmt catch1 = NULL,
SgCatchOptionStmt catch2 = NULL,
SgCatchOptionStmt catch3 = NULL,
SgCatchOptionStmt catch4 = NULL 
)

◆ buildTryStmt() [2/2]

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

Build a try statement.

Build a try statement (used for Java)

Build a try statement.

Definition at line 8164 of file sageBuilder.C.

References SageInterface::setSourcePosition().

◆ buildCatchStatementSeq()

SgCatchStatementSeq * SageBuilder::buildCatchStatementSeq ( SgCatchOptionStmt catch_option_stmt = NULL)

Build an initial sequence of Catch blocks containing 0 or 1 element.

Definition at line 8190 of file sageBuilder.C.

References SageInterface::setSourcePosition().

◆ buildJavaSynchronizedStatement()

SgJavaSynchronizedStatement * SageBuilder::buildJavaSynchronizedStatement ( SgExpression expression,
SgBasicBlock body 
)

Build a Java Synchronized statement.

Definition at line 8214 of file sageBuilder.C.

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

◆ buildJavaThrowStatement()

SgJavaThrowStatement * SageBuilder::buildJavaThrowStatement ( SgThrowOp op)

Build a Java Throw statement.

Definition at line 8227 of file sageBuilder.C.

References SgNode::set_parent().

◆ buildJavaForEachStatement()

SgJavaForEachStatement * SageBuilder::buildJavaForEachStatement ( SgVariableDeclaration variable = NULL,
SgExpression collection = NULL,
SgStatement body = NULL 
)

Build a Java Foreach statement.

Definition at line 8240 of file sageBuilder.C.

◆ buildJavaLabelStatement()

SgJavaLabelStatement * SageBuilder::buildJavaLabelStatement ( const SgName name,
SgStatement stmt = NULL 
)

Build a Java Label statement.

Definition at line 8251 of file sageBuilder.C.

References SageInterface::get_name(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildExecStatement()

SgExecStatement * SageBuilder::buildExecStatement ( SgExpression executable,
SgExpression globals = NULL,
SgExpression locals = NULL 
)

Build an exec statement.

Build an exec stmt.

Definition at line 7990 of file sageBuilder.C.

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

◆ buildExecStatement_nfi()

SgExecStatement * SageBuilder::buildExecStatement_nfi ( SgExpression executable,
SgExpression globals = NULL,
SgExpression locals = NULL 
)

Build an exec stmt.

Definition at line 8007 of file sageBuilder.C.

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

◆ buildPythonPrintStmt()

SgPythonPrintStmt * SageBuilder::buildPythonPrintStmt ( SgExpression dest = NULL,
SgExprListExp values = NULL 
)

Build a python print statement.

Definition at line 8272 of file sageBuilder.C.

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

◆ buildPythonPrintStmt_nfi()

SgPythonPrintStmt * SageBuilder::buildPythonPrintStmt_nfi ( SgExpression dest = NULL,
SgExprListExp values = NULL 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 8281 of file sageBuilder.C.

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

◆ buildPythonGlobalStmt()

SgPythonGlobalStmt * SageBuilder::buildPythonGlobalStmt ( SgInitializedNamePtrList &  names)

Build a python global statement.

Definition at line 8290 of file sageBuilder.C.

References SgPythonGlobalStmt::append_name(), and SageInterface::setOneSourcePositionForTransformation().

◆ buildPythonGlobalStmt_nfi()

SgPythonGlobalStmt * SageBuilder::buildPythonGlobalStmt_nfi ( SgInitializedNamePtrList &  names)

Build a variable declaration, handle symbol table transparently.

Definition at line 8300 of file sageBuilder.C.

References SgPythonGlobalStmt::append_name(), and SageInterface::setOneSourcePositionNull().

◆ buildAsmStatement()

SgAsmStmt * SageBuilder::buildAsmStatement ( std::string  s)

Build a NULL statement.

Build an asm statement.

Definition at line 8311 of file sageBuilder.C.

References SageInterface::setOneSourcePositionForTransformation().

Referenced by buildMultibyteNopStatement().

◆ buildAsmStatement_nfi()

SgAsmStmt * SageBuilder::buildAsmStatement_nfi ( std::string  s)

Build an asm statement.

Definition at line 8323 of file sageBuilder.C.

References SageInterface::setOneSourcePositionNull().

◆ buildMultibyteNopStatement()

SgAsmStmt * SageBuilder::buildMultibyteNopStatement ( int  n)

DQ (4/30/2010): Added support for building nop statement using asm statement Building nop statement using asm statement.

Definition at line 8334 of file sageBuilder.C.

References buildAsmStatement().

◆ buildBaseClass()

SgBaseClass * SageBuilder::buildBaseClass ( SgClassDeclaration classDeclaration,
SgClassDefinition classDefinition,
bool  isVirtual,
bool  isDirect 
)

DQ (5/6/2013): Added build functions to support SgBaseClass construction.

Definition at line 13649 of file sageBuilder.C.

References SgClassDefinition::get_declaration(), and SgNode::set_parent().

◆ buildNonrealBaseClass()

SgNonrealBaseClass * SageBuilder::buildNonrealBaseClass ( SgNonrealDecl classDeclaration,
SgClassDefinition classDefinition,
bool  isVirtual,
bool  isDirect 
)

Build a variable declaration, handle symbol table transparently.

Definition at line 13692 of file sageBuilder.C.

References SgNode::set_parent().

◆ buildStaticAssertionDeclaration()

SgStaticAssertionDeclaration * SageBuilder::buildStaticAssertionDeclaration ( SgExpression condition,
const SgName string_literal 
)

◆ buildMicrosoftAttributeDeclaration()

SgMicrosoftAttributeDeclaration * SageBuilder::buildMicrosoftAttributeDeclaration ( const SgName name)

◆ buildStatementFromString()

SgStatement * SageBuilder::buildStatementFromString ( const std::string &  stmt_str,
SgScopeStatement scope 
)

Liao (9/18/2015): experimental support of building a statement from a string.

Definition at line 18895 of file sageBuilder.C.

References AstFromString::afs_match_statement(), AstFromString::c_char, AstFromString::c_parsed_node, AstFromString::c_sgnode, and SgScopeStatement::class_name().

◆ buildUsingDirectiveStatement()

SgUsingDirectiveStatement * SageBuilder::buildUsingDirectiveStatement ( SgNamespaceDeclarationStatement ns_decl)

◆ buildFile()

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

◆ buildSourceFile() [1/2]

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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

Definition at line 14973 of file sageBuilder.C.

References buildFile().

◆ buildSourceFile() [2/2]

SgSourceFile * SageBuilder::buildSourceFile ( const std::string &  inputFileName,
const std::string &  outputFileName,
SgProject project,
bool  clear_globalScopeAcrossFiles = false 
)

Build a SgSourceFile 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.

Definition at line 15023 of file sageBuilder.C.

References buildFile(), SgFile::class_name(), SgSourceFile::class_name(), SageInterface::collectModifiedLocatedNodes(), fixupSourcePositionFileSpecification(), SgFile::get_file_info(), Sg_File_Info::get_filename(), SgNode::get_isModified(), Sg_File_Info::get_nametofileid_map(), SgFile::getFileName(), SgFile::secondaryPassOverSourceFile(), and SgNode::set_isModified().

◆ fixupSourcePositionFileSpecification()

void SageBuilder::fixupSourcePositionFileSpecification ( SgNode subtreeRoot,
const std::string &  newFileName 
)

◆ fixupSharingSourcePosition()

void SageBuilder::fixupSharingSourcePosition ( SgNode subtreeRoot,
int  new_file_id 
)

Sharing IR nodes requires that the file id be added to the fileIDsToUnparse held in the Sg_File_Info object.

Definition at line 14007 of file sageBuilder.C.

References SgNode::class_name(), SgStatement::class_name(), SgLocatedNode::get_endOfConstruct(), Sg_File_Info::get_line(), SgLocatedNode::get_startOfConstruct(), and Sg_File_Info::setShared().

Referenced by buildFile().

◆ buildComment()

PreprocessingInfo * SageBuilder::buildComment ( 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().

Definition at line 15329 of file sageBuilder.C.

References SageInterface::attachComment().

◆ buildCpreprocessorDefineDeclaration()

PreprocessingInfo * SageBuilder::buildCpreprocessorDefineDeclaration ( SgLocatedNode target,
const std::string &  content,
PreprocessingInfo::RelativePositionType  position = PreprocessingInfo::before 
)

Build and attach #define XX directives, pass "#define xxx xxx" as content.

#define xxx yyy

Definition at line 15353 of file sageBuilder.C.

◆ buildHeader()

PreprocessingInfo * SageBuilder::buildHeader ( const std::string &  header_filename,
PreprocessingInfo::RelativePositionType  position = PreprocessingInfo::before,
bool  isSystemHeader = false 
)

Build a dangling #include "x.h" header, insertHeader() is needed to actually insert it.

Definition at line 15335 of file sageBuilder.C.

References Sg_File_Info::setTransformation().

◆ buildAbstractHandle()

AbstractHandle::abstract_handle * SageBuilder::buildAbstractHandle ( SgNode n)

Build an abstract handle from a SgNode.

Definition at line 8289 of file sageInterface.C.

References AbstractHandle::buildAbstractHandle().

◆ buildEquivalenceStatement()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

Definition at line 15399 of file sageBuilder.C.

References buildExprListExp(), SgDeclarationStatement::set_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().

◆ fixupCopyOfAstFromSeparateFileInNewTargetAst()

void SageBuilder::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.).

Definition at line 18768 of file sageBuilder.C.

References RoseAst::begin(), RoseAst::end(), fixupCopyOfNodeFromSeparateFileInNewTargetAst(), SageInterface::getEnclosingFileNode(), and SageInterface::isStructurallyEquivalentAST().

◆ fixupCopyOfNodeFromSeparateFileInNewTargetAst()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

Definition at line 16969 of file sageBuilder.C.

References buildConstType(), buildPointerType(), SgNode::class_name(), SgType::class_name(), SgClassType::class_name(), SgTypedefType::class_name(), SgStatement::class_name(), SgScopeStatement::class_name(), SgGlobal::class_name(), SgClassDefinition::class_name(), SgFunctionDeclaration::class_name(), SgExpression::class_name(), SgFunctionSymbol::class_name(), errorCheckingTargetAST(), findAssociatedSymbolInTargetAST(), SgClassDefinition::get_declaration(), SgDeclarationStatement::get_definingDeclaration(), SgLocatedNode::get_file_info(), SgNode::get_file_info(), SgExpression::get_file_info(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgBinaryOp::get_lhs_operand(), SgEnumDeclaration::get_name(), SgVariableSymbol::get_name(), SgFunctionSymbol::get_name(), SgMemberFunctionSymbol::get_name(), SgNode::get_parent(), SgBinaryOp::get_rhs_operand(), SgEnumDeclaration::get_scope(), SgTypedefDeclaration::get_scope(), SgClassDeclaration::get_scope(), SgFunctionDeclaration::get_scope(), SgStatement::get_scope(), SgFunctionDeclaration::get_symbol_from_symbol_table(), SgScopeStatement::get_symbol_table(), SgEnumDeclaration::get_type(), SgExpression::get_type(), SgMemberFunctionSymbol::get_type(), SgModifierType::get_typeModifier(), SageInterface::getEnclosingFileNode(), SgType::getInternalTypes(), getTargetFileType(), SgStatement::hasExplicitScope(), SgExpression::hasExplicitType(), SgScopeStatement::insert_symbol(), SageInterface::lookupClassSymbolInParentScopes(), SageInterface::lookupEnumSymbolInParentScopes(), SageInterface::lookupFunctionSymbolInParentScopes(), SageInterface::lookupTypedefSymbolInParentScopes(), SageInterface::lookupVariableSymbolInParentScopes(), SgSymbolTable::print(), resetDeclaration(), SgInitializedName::search_for_symbol_from_symbol_table(), SgDeclarationStatement::search_for_symbol_from_symbol_table(), SgExpression::set_explicitly_stored_type(), SgStatement::set_scope(), SgEnumDeclaration::set_scope(), SgTypedefDeclaration::set_scope(), SgClassDeclaration::set_scope(), SgFunctionDeclaration::set_scope(), SgEnumDeclaration::set_type(), SgSymbolTable::size(), SgType::stripType(), and SgNode::variantT().

Referenced by fixupCopyOfAstFromSeparateFileInNewTargetAst().

◆ getTargetFileTypeSupport()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

Definition at line 16078 of file sageBuilder.C.

References SgType::class_name(), SgNamedType::class_name(), SgDeclarationStatement::class_name(), findAssociatedSymbolInTargetAST(), SgEnumDeclaration::get_name(), SageInterface::get_name(), SgScopeStatement::get_symbol_table(), SgEnumDeclaration::get_type(), SgClassSymbol::get_type(), SgEnumSymbol::get_type(), SgTypedefSymbol::get_type(), SageInterface::lookupClassSymbolInParentScopes(), SageInterface::lookupEnumSymbolInParentScopes(), SageInterface::lookupTypedefSymbolInParentScopes(), SgSymbolTable::print(), SgSymbolTable::size(), and SgNamedType::variantT().

Referenced by getTargetFileType().

◆ getTargetFileType()

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

◆ findAssociatedSymbolInTargetAST()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

Definition at line 15416 of file sageBuilder.C.

References SgScopeStatement::class_name(), SgDeclarationStatement::class_name(), SgClassDefinition::get_declaration(), SgNamespaceSymbol::get_declaration(), SgLocatedNode::get_file_info(), SgEnumDeclaration::get_name(), SgNamespaceDeclarationStatement::get_name(), SgEnumDeclaration::get_scope(), SgStatement::get_scope(), SgScopeStatement::isNamedScope(), SageInterface::lookupEnumSymbolInParentScopes(), and SgDeclarationStatement::variantT().

Referenced by fixupCopyOfNodeFromSeparateFileInNewTargetAst(), getTargetFileType(), and getTargetFileTypeSupport().

◆ findAssociatedDeclarationInTargetAST()

SgDeclarationStatement * SageBuilder::findAssociatedDeclarationInTargetAST ( SgDeclarationStatement snippet_declaration,
SgScopeStatement targetScope 
)

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

Definition at line 15681 of file sageBuilder.C.

References SgScopeStatement::class_name(), SgGlobal::class_name(), SgDeclarationStatement::class_name(), SgClassDefinition::get_declaration(), SgNamespaceSymbol::get_declaration(), SgDeclarationStatement::get_definingDeclaration(), SgNamespaceDeclarationStatement::get_definition(), SgLocatedNode::get_file_info(), SgEnumDeclaration::get_name(), SgNamespaceDeclarationStatement::get_name(), SageInterface::get_name(), SgEnumDeclaration::get_scope(), SgStatement::get_scope(), SgFile::getFileName(), SageInterface::hasSameGlobalScope(), SgScopeStatement::isNamedScope(), SageInterface::lookupEnumSymbolInParentScopes(), and SgDeclarationStatement::variantT().

◆ errorCheckingTargetAST()

void SageBuilder::errorCheckingTargetAST ( SgNode node_copy,
SgNode node_original,
SgFile targetFile,
bool  failOnWarning 
)

◆ buildJavaArrayLengthVarRefExp()

ROSE_DLL_API SgVarRefExp * SageBuilder::buildJavaArrayLengthVarRefExp ( )

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildScopeStatement()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaTypeExpression()

ROSE_DLL_API SgJavaTypeExpression * SageBuilder::buildJavaTypeExpression ( SgType )

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaMarkerAnnotation()

ROSE_DLL_API SgJavaMarkerAnnotation * SageBuilder::buildJavaMarkerAnnotation ( SgType )

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaMemberValuePair()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaSingleMemberAnnotation()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaNormalAnnotation() [1/2]

ROSE_DLL_API SgJavaNormalAnnotation * SageBuilder::buildJavaNormalAnnotation ( SgType )

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaNormalAnnotation() [2/2]

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaFormalParameter()

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.

Build a SgFile node.

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.

◆ buildJavaPackageStatement()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaImportStatement()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildJavaDefiningClassDeclaration()

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.

Build a SgFile node.

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.

◆ buildJavaSourceFile()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ getUniqueJavaArrayType()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

Referenced by SageInterface::findJavaMain().

◆ getUniqueJavaParameterizedType()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ getUniqueJavaQualifiedType()

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

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ getUniqueJavaWildcardUnbound()

ROSE_DLL_API SgJavaWildcardType * SageBuilder::getUniqueJavaWildcardUnbound ( )

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ getUniqueJavaWildcardExtends()

ROSE_DLL_API SgJavaWildcardType * SageBuilder::getUniqueJavaWildcardExtends ( SgType )

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ getUniqueJavaWildcardSuper()

ROSE_DLL_API SgJavaWildcardType * SageBuilder::getUniqueJavaWildcardSuper ( SgType )

Build a SgFile node and attach it to SgProject.

Build a SgFile node.

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.

◆ buildUnaryExpression()

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 1744 of file sageBuilder.h.

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

◆ buildUnaryExpression_nfi()

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 1762 of file sageBuilder.h.

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

◆ buildBinaryExpression()

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

◆ buildBinaryExpression_nfi()

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

◆ buildNondefiningFunctionDeclaration_T()

template<class actualFunction >
actualFunction * SageBuilder::buildNondefiningFunctionDeclaration_T ( const SgName name,
SgType return_type,
SgFunctionParameterList paralist,
bool  isMemberFunction,
SgScopeStatement scope,
SgExprListExp decoratorList,
unsigned int  functionConstVolatileFlags,
SgTemplateArgumentPtrList *  templateArgumentsList,
SgTemplateParameterPtrList *  templateParameterList,
SgStorageModifier::storage_modifier_enum  sm 
)

Definition at line 2765 of file sageBuilder.C.

◆ buildDefiningFunctionDeclaration_T()

template<class actualFunction >
actualFunction * SageBuilder::buildDefiningFunctionDeclaration_T ( const SgName name,
SgType return_type,
SgFunctionParameterList parlist,
bool  isMemberFunction,
SgScopeStatement scope,
SgExprListExp decoratorList,
unsigned int  functionConstVolatileFlags,
actualFunction *  first_nondefinng_declaration,
SgTemplateArgumentPtrList *  templateArgumentsList 
)

Variable Documentation

◆ mlog

Sawyer::Message::Facility SageBuilder::mlog

Definition at line 58 of file sageBuilder.C.

◆ symbol_table_case_insensitive_semantics

bool SageBuilder::symbol_table_case_insensitive_semantics = false
extern

Support for construction of case sensitive/insensitive symbol table handling in scopes.

Definition at line 101 of file sageBuilder.C.

Referenced by buildSwitchStatement_nfi(), buildWhileStmt_nfi(), and SageInterface::is_language_case_insensitive().

◆ SourcePositionClassificationMode

SageBuilder::SourcePositionClassification SageBuilder::SourcePositionClassificationMode = SageBuilder::e_sourcePositionTransformation
extern

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

C++ SageBuilder namespace specific state for storage of the source code position state.

Definition at line 127 of file sageInterface.C.

Referenced by buildClassDeclaration_nfi(), buildNondefiningTemplateMemberFunctionDeclaration(), getSourcePositionClassificationMode(), and setSourcePositionClassificationMode().