ROSE 0.11.145.192
|
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 SgTypeBool * | buildBoolType () |
Built in simple types. | |
ROSE_DLL_API SgTypeNullptr * | buildNullptrType () |
Built in simple types. | |
ROSE_DLL_API SgTypeChar * | buildCharType () |
Built in simple types. | |
ROSE_DLL_API SgTypeDouble * | buildDoubleType () |
Built in simple types. | |
ROSE_DLL_API SgTypeFloat * | buildFloatType () |
Built in simple types. | |
ROSE_DLL_API SgTypeInt * | buildIntType () |
Built in simple types. | |
ROSE_DLL_API SgTypeLong * | buildLongType () |
Built in simple types. | |
ROSE_DLL_API SgTypeLongDouble * | buildLongDoubleType () |
Built in simple types. | |
ROSE_DLL_API SgTypeLongLong * | buildLongLongType () |
Built in simple types. | |
ROSE_DLL_API SgTypeShort * | buildShortType () |
Built in simple types. | |
ROSE_DLL_API SgTypeFloat80 * | buildFloat80Type () |
Built in simple types. | |
ROSE_DLL_API SgTypeFloat128 * | buildFloat128Type () |
Built in simple types. | |
ROSE_DLL_API SgTypeFixed * | buildFixedType (SgExpression *fraction, SgExpression *scale) |
Build a Jovial fixed type with a fraction specifier and a scale specifier. | |
ROSE_DLL_API SgJovialBitType * | buildJovialBitType (SgExpression *size) |
Build a Jovial bit type of a given size. | |
ROSE_DLL_API SgTypeString * | buildStringType () |
DQ (8/21/2010): We want to move to the new buildStringType( SgExpression*,size_t) function over the older buildStringType() function. | |
ROSE_DLL_API SgTypeString * | buildStringType (SgExpression *stringLengthExpression) |
Built in simple types. | |
ROSE_DLL_API SgTypeVoid * | buildVoidType () |
Built in simple types. | |
ROSE_DLL_API SgTypeWchar * | buildWcharType () |
Built in simple types. | |
ROSE_DLL_API SgTypeChar16 * | buildChar16Type () |
Built in simple types. | |
ROSE_DLL_API SgTypeChar32 * | buildChar32Type () |
Built in simple types. | |
ROSE_DLL_API SgTypeSignedChar * | buildSignedCharType () |
Built in simple types. | |
ROSE_DLL_API SgTypeSignedInt * | buildSignedIntType () |
Built in simple types. | |
ROSE_DLL_API SgTypeSignedLong * | buildSignedLongType () |
Built in simple types. | |
ROSE_DLL_API SgTypeSignedLongLong * | buildSignedLongLongType () |
Built in simple types. | |
ROSE_DLL_API SgTypeSignedShort * | buildSignedShortType () |
Built in simple types. | |
ROSE_DLL_API SgTypeSigned128bitInteger * | buildSigned128bitIntegerType () |
Built in simple types. | |
ROSE_DLL_API SgTypeUnsigned128bitInteger * | buildUnsigned128bitIntegerType () |
Built in simple types. | |
ROSE_DLL_API SgTypeUnsignedChar * | buildUnsignedCharType () |
Built in simple types. | |
ROSE_DLL_API SgTypeUnsignedInt * | buildUnsignedIntType () |
Built in simple types. | |
ROSE_DLL_API SgTypeUnsignedLong * | buildUnsignedLongType () |
Built in simple types. | |
ROSE_DLL_API SgTypeUnsignedLongLong * | buildUnsignedLongLongType () |
Built in simple types. | |
ROSE_DLL_API SgTypeUnsignedShort * | buildUnsignedShortType () |
Built in simple types. | |
ROSE_DLL_API SgTypeUnknown * | buildUnknownType () |
Built in simple types. | |
ROSE_DLL_API SgAutoType * | buildAutoType () |
Built in simple types. | |
ROSE_DLL_API SgTypeBool * | buildBoolType (SgExpression *kind_expr) |
Builder functions for primitive types with type size (kind) expressions. | |
ROSE_DLL_API SgTypeInt * | buildIntType (SgExpression *kind_expr) |
Built in simple types. | |
ROSE_DLL_API SgTypeFloat * | buildFloatType (SgExpression *kind_expr) |
Built in simple types. | |
ROSE_DLL_API SgTypeUnsignedInt * | buildUnsignedIntType (SgExpression *kind_expr) |
Built in simple types. | |
ROSE_DLL_API SgType * | buildFortranImplicitType (SgName name) |
Build a type based on Fortran's implicit typing rules. | |
ROSE_DLL_API SgPointerType * | buildPointerType (SgType *base_type=nullptr) |
Build a pointer type. | |
ROSE_DLL_API SgReferenceType * | buildReferenceType (SgType *base_type=nullptr) |
Build a reference type. | |
ROSE_DLL_API SgRvalueReferenceType * | buildRvalueReferenceType (SgType *base_type) |
Build a rvalue reference type. | |
ROSE_DLL_API SgDeclType * | buildDeclType (SgExpression *base_expression, SgType *base_type) |
Build a decltype reference type. | |
ROSE_DLL_API SgTypeOfType * | buildTypeOfType (SgExpression *base_expression, SgType *base_type) |
Build a GNU typeof operator. | |
ROSE_DLL_API SgModifierType * | buildModifierType (SgType *base_type=nullptr) |
Build a modifier type. | |
ROSE_DLL_API SgModifierType * | buildConstType (SgType *base_type=nullptr) |
Build a const type. | |
ROSE_DLL_API SgModifierType * | buildAliasedType (SgType *base_type) |
Build an aliased type for Ada. | |
ROSE_DLL_API SgModifierType * | buildNotNullType (SgType *base_type) |
Build a not null type for Ada. | |
ROSE_DLL_API SgModifierType * | buildVolatileType (SgType *base_type=nullptr) |
Build a volatile type. | |
ROSE_DLL_API SgModifierType * | buildConstVolatileType (SgType *base_type=nullptr) |
Build a const volatile type. | |
ROSE_DLL_API SgModifierType * | buildRestrictType (SgType *base_type) |
Build a restrict type. | |
ROSE_DLL_API SgArrayType * | buildArrayType (SgType *base_type=nullptr, SgExpression *index=nullptr) |
Build ArrayType. | |
ROSE_DLL_API SgArrayType * | buildArrayType (SgType *base_type, SgExprListExp *dim_info) |
Build an ArrayType based on dimension information. | |
ROSE_DLL_API SgModifierType * | buildFortranKindType (SgType *base_type, SgExpression *kindExpression) |
Build a type based on the Fortran kind mechanism. | |
ROSE_DLL_API SgFunctionType * | buildFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList=nullptr) |
Build function type from return type and parameter type list. | |
ROSE_DLL_API SgFunctionType * | buildFunctionType (SgType *return_type, SgFunctionParameterList *argList=nullptr) |
Build function type from return type and parameter list. | |
ROSE_DLL_API SgMemberFunctionType * | buildMemberFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList, SgScopeStatement *struct_name, unsigned int mfunc_specifier) |
Built in simple types. | |
ROSE_DLL_API SgMemberFunctionType * | buildMemberFunctionType (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 SgPointerMemberType * | buildPointerMemberType (SgType *base_type, SgType *classType) |
Pei-Hung (06/30/2023): support for SgPointerMemberType. | |
ROSE_DLL_API SgClassType * | buildClassTemplateType (SgTemplateClassDeclaration *template_decl, std::vector< SgNode * > &template_args) |
Some support for building class template instantiation declarations. | |
ROSE_DLL_API SgClassType * | buildTemplateClassType (SgTemplateClassDeclaration *template_decl, std::vector< SgNode * > &template_args) |
Same as buildClassTemplateType(), just better name. | |
ROSE_DLL_API SgType * | 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. | |
ROSE_DLL_API SgModifierType * | buildUpcStrictType (SgType *base_type=nullptr) |
Build a UPC strict type. | |
ROSE_DLL_API SgModifierType * | buildUpcRelaxedType (SgType *base_type=nullptr) |
Build a UPC relaxed type. | |
ROSE_DLL_API SgModifierType * | buildUpcSharedType (SgType *base_type=nullptr, long layout=-1) |
Build a UPC shared type. | |
ROSE_DLL_API SgModifierType * | buildUpcBlockIndefiniteType (SgType *base_type=nullptr) |
Build a UPC shared[] type. | |
ROSE_DLL_API SgModifierType * | buildUpcBlockStarType (SgType *base_type=nullptr) |
Build a UPC shared[*] type. | |
ROSE_DLL_API SgModifierType * | buildUpcBlockNumberType (SgType *base_type, long block_factor) |
Build a UPC shared[n] type. | |
ROSE_DLL_API SgTypeComplex * | buildComplexType (SgType *base_type=nullptr) |
Build a complex type. | |
ROSE_DLL_API SgTypeImaginary * | buildImaginaryType (SgType *base_type=nullptr) |
Build an imaginary type. | |
ROSE_DLL_API SgConstVolatileModifier * | buildConstVolatileModifier (SgConstVolatileModifier::cv_modifier_enum mtype=SgConstVolatileModifier::e_unknown) |
Build a const/volatile type qualifier. | |
ROSE_DLL_API SgTypeMatrix * | buildMatrixType () |
Build a Matlab Matrix Type. | |
ROSE_DLL_API SgTypeTuple * | 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. | |
ROSE_DLL_API SgNonrealType * | buildNonrealType (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.
| |
ROSE_DLL_API SgVariantExpression * | buildVariantExpression () |
ROSE_DLL_API SgNullExpression * | buildNullExpression () |
Build a null expression, set file info as the default one. | |
ROSE_DLL_API SgNullExpression * | buildNullExpression_nfi () |
No file info version of buildNullExpression(). File info is to be set later on. | |
ROSE_DLL_API SgColonShapeExp * | buildColonShapeExp () |
Build a Fortran colon-shape expression, set file info as the default one. | |
ROSE_DLL_API SgColonShapeExp * | buildColonShapeExp_nfi () |
No file info version of buildColonShapeExp(). File info is to be set later on. | |
ROSE_DLL_API SgBoolValExp * | buildBoolValExp (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 SgBoolValExp * | buildBoolValExp (bool value=0) |
ROSE_DLL_API SgBoolValExp * | buildBoolValExp_nfi (int value) |
ROSE_DLL_API SgCharVal * | buildCharVal (char value=0) |
ROSE_DLL_API SgCharVal * | buildCharVal_nfi (char value, const std::string &str) |
ROSE_DLL_API SgNullptrValExp * | buildNullptrValExp () |
DQ (7/31/2014): Adding support for C++11 nullptr const value expressions. | |
ROSE_DLL_API SgNullptrValExp * | buildNullptrValExp_nfi () |
ROSE_DLL_API SgVoidVal * | buildVoidVal () |
DQ (2/14/2019): Adding support for C++14 void value expressions. | |
ROSE_DLL_API SgVoidVal * | buildVoidVal_nfi () |
ROSE_DLL_API SgWcharVal * | buildWcharVal (wchar_t value=0) |
ROSE_DLL_API SgWcharVal * | buildWcharVal_nfi (wchar_t value, const std::string &str) |
ROSE_DLL_API SgChar16Val * | buildChar16Val (unsigned short value=0) |
ROSE_DLL_API SgChar16Val * | buildChar16Val_nfi (unsigned short value, const std::string &str) |
ROSE_DLL_API SgChar32Val * | buildChar32Val (unsigned int value=0) |
ROSE_DLL_API SgChar32Val * | buildChar32Val_nfi (unsigned int value, const std::string &str) |
ROSE_DLL_API SgComplexVal * | buildComplexVal (SgValueExp *real_value, SgValueExp *imaginary_value) |
ROSE_DLL_API SgComplexVal * | buildComplexVal_nfi (SgValueExp *real_value, SgValueExp *imaginary_value, const std::string &str) |
ROSE_DLL_API SgComplexVal * | buildImaginaryVal (long double imaginary_value) |
ROSE_DLL_API SgComplexVal * | buildImaginaryVal (SgValueExp *imaginary_value) |
ROSE_DLL_API SgComplexVal * | buildImaginaryVal_nfi (SgValueExp *imaginary_value, const std::string &str) |
ROSE_DLL_API SgDoubleVal * | buildDoubleVal (double value=0.0) |
Build a double value expression. | |
ROSE_DLL_API SgDoubleVal * | buildDoubleVal_nfi (double value, const std::string &str) |
ROSE_DLL_API SgFloatVal * | buildFloatVal (float value=0.0) |
ROSE_DLL_API SgFloatVal * | buildFloatVal_nfi (float value=0.0) |
ROSE_DLL_API SgFloatVal * | buildFloatVal_nfi (float value, const std::string &str) |
ROSE_DLL_API SgFloatVal * | buildFloatVal_nfi (const std::string &str) |
Build a float value expression by converting the string. | |
ROSE_DLL_API SgIntVal * | buildIntVal (int value=0) |
Build an integer value expression. | |
ROSE_DLL_API SgIntVal * | buildIntValHex (int value=0) |
ROSE_DLL_API SgIntVal * | buildIntVal_nfi (int value=0) |
ROSE_DLL_API SgIntVal * | buildIntVal_nfi (int value, const std::string &str) |
ROSE_DLL_API SgIntVal * | buildIntVal_nfi (const std::string &str) |
Build an integer value expression by converting the string. | |
ROSE_DLL_API SgLongIntVal * | buildLongIntVal (long value=0) |
Build a long integer value expression. | |
ROSE_DLL_API SgLongIntVal * | buildLongIntValHex (long value=0) |
ROSE_DLL_API SgLongIntVal * | buildLongIntVal_nfi (long value, const std::string &str) |
ROSE_DLL_API SgLongLongIntVal * | buildLongLongIntVal (long long value=0) |
Build a long long integer value expression. | |
ROSE_DLL_API SgLongLongIntVal * | buildLongLongIntValHex (long long value=0) |
ROSE_DLL_API SgLongLongIntVal * | buildLongLongIntVal_nfi (long long value, const std::string &str) |
ROSE_DLL_API SgEnumVal * | buildEnumVal_nfi (long long int value, SgEnumDeclaration *decl, SgName name) |
ROSE_DLL_API SgEnumVal * | buildEnumVal (long long int value, SgEnumDeclaration *decl, SgName name) |
ROSE_DLL_API SgEnumVal * | buildEnumVal (SgEnumFieldSymbol *sym) |
ROSE_DLL_API SgLongDoubleVal * | buildLongDoubleVal (long double value=0.0) |
ROSE_DLL_API SgLongDoubleVal * | buildLongDoubleVal_nfi (long double value, const std::string &str) |
ROSE_DLL_API SgFloat80Val * | buildFloat80Val (long double value=0.0) |
ROSE_DLL_API SgFloat80Val * | buildFloat80Val_nfi (long double value, const std::string &str) |
ROSE_DLL_API SgFloat128Val * | buildFloat128Val (long double value=0.0) |
ROSE_DLL_API SgFloat128Val * | buildFloat128Val_nfi (long double value, const std::string &str) |
ROSE_DLL_API SgShortVal * | buildShortVal (short value=0) |
ROSE_DLL_API SgShortVal * | buildShortValHex (short value=0) |
ROSE_DLL_API SgShortVal * | buildShortVal_nfi (short value, const std::string &str) |
ROSE_DLL_API SgStringVal * | buildStringVal (std::string value="") |
ROSE_DLL_API SgStringVal * | buildStringVal_nfi (std::string value) |
ROSE_DLL_API SgUnsignedCharVal * | buildUnsignedCharVal (unsigned char v=0) |
Build an unsigned char. | |
ROSE_DLL_API SgUnsignedCharVal * | buildUnsignedCharValHex (unsigned char v=0) |
ROSE_DLL_API SgUnsignedCharVal * | buildUnsignedCharVal_nfi (unsigned char v, const std::string &str) |
ROSE_DLL_API SgUnsignedShortVal * | buildUnsignedShortVal (unsigned short v=0) |
Build an unsigned short integer. | |
ROSE_DLL_API SgUnsignedShortVal * | buildUnsignedShortValHex (unsigned short v=0) |
ROSE_DLL_API SgUnsignedShortVal * | buildUnsignedShortVal_nfi (unsigned short v, const std::string &str) |
ROSE_DLL_API SgUnsignedIntVal * | buildUnsignedIntVal (unsigned int v=0) |
Build an unsigned integer. | |
ROSE_DLL_API SgUnsignedIntVal * | buildUnsignedIntValHex (unsigned int v=0) |
ROSE_DLL_API SgUnsignedIntVal * | buildUnsignedIntVal_nfi (unsigned int v, const std::string &str) |
ROSE_DLL_API SgUnsignedLongVal * | buildUnsignedLongVal (unsigned long v=0) |
Build a unsigned long integer. | |
ROSE_DLL_API SgUnsignedLongVal * | buildUnsignedLongValHex (unsigned long v=0) |
ROSE_DLL_API SgUnsignedLongVal * | buildUnsignedLongVal_nfi (unsigned long v, const std::string &str) |
ROSE_DLL_API SgUnsignedLongLongIntVal * | buildUnsignedLongLongIntVal (unsigned long long v=0) |
Build an unsigned long long integer. | |
ROSE_DLL_API SgUnsignedLongLongIntVal * | buildUnsignedLongLongIntValHex (unsigned long long v=0) |
ROSE_DLL_API SgUnsignedLongLongIntVal * | buildUnsignedLongLongIntVal_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 SgTemplateParameterVal * | buildTemplateParameterVal (int template_parameter_position=-1) |
Build an template parameter value expression. | |
ROSE_DLL_API SgTemplateParameterVal * | buildTemplateParameterVal_nfi (int template_parameter_position, const std::string &str) |
ROSE_DLL_API SgTemplateType * | buildTemplateType (SgName name="") |
Build a template type, used for template parameter and later argument. | |
ROSE_DLL_API SgTemplateParameter * | buildTemplateParameter (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 SgNonrealDecl * | buildNonrealDecl (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 SgNonrealRefExp * | buildNonrealRefExp_nfi (SgNonrealSymbol *sym) |
Build a reference to the non-real declaration of a member of a non-real class. | |
ROSE_DLL_API SgUpcThreads * | buildUpcThreads () |
Build UPC THREADS (integer expression) | |
ROSE_DLL_API SgUpcThreads * | buildUpcThreads_nfi () |
Build UPC THREADS (integer expression) | |
ROSE_DLL_API SgUpcMythread * | buildUpcMythread () |
Build UPC MYTHREAD (integer expression) | |
ROSE_DLL_API SgUpcMythread * | buildUpcMythread_nfi () |
Build UPC MYTHREAD (integer expression) | |
ROSE_DLL_API SgThisExp * | buildThisExp (SgSymbol *sym) |
Build this pointer. | |
ROSE_DLL_API SgThisExp * | buildThisExp_nfi (SgSymbol *sym) |
ROSE_DLL_API SgSuperExp * | buildSuperExp (SgClassSymbol *sym) |
Build super pointer. | |
ROSE_DLL_API SgSuperExp * | buildSuperExp_nfi (SgClassSymbol *sym) |
ROSE_DLL_API SgClassExp * | buildClassExp (SgClassSymbol *sym) |
Build class pointer. | |
ROSE_DLL_API SgClassExp * | buildClassExp_nfi (SgClassSymbol *sym) |
ROSE_DLL_API SgLambdaRefExp * | buildLambdaRefExp (SgType *return_type, SgFunctionParameterList *params, SgScopeStatement *scope) |
Build lambda expression. | |
ROSE_DLL_API SgAddressOfOp * | buildAddressOfOp (SgExpression *op=NULL) |
ROSE_DLL_API SgAddressOfOp * | buildAddressOfOp_nfi (SgExpression *op) |
ROSE_DLL_API SgBitComplementOp * | buildBitComplementOp (SgExpression *op=NULL) |
ROSE_DLL_API SgBitComplementOp * | buildBitComplementOp_nfi (SgExpression *op) |
ROSE_DLL_API SgMinusOp * | buildMinusOp (SgExpression *op=NULL) |
ROSE_DLL_API SgMinusOp * | buildMinusOp_nfi (SgExpression *op) |
ROSE_DLL_API SgNotOp * | buildNotOp (SgExpression *op=NULL) |
ROSE_DLL_API SgNotOp * | buildNotOp_nfi (SgExpression *op) |
ROSE_DLL_API SgPointerDerefExp * | buildPointerDerefExp (SgExpression *op=NULL) |
ROSE_DLL_API SgPointerDerefExp * | buildPointerDerefExp_nfi (SgExpression *op) |
ROSE_DLL_API SgUnaryAddOp * | buildUnaryAddOp (SgExpression *op=NULL) |
ROSE_DLL_API SgUnaryAddOp * | buildUnaryAddOp_nfi (SgExpression *op) |
ROSE_DLL_API SgMinusMinusOp * | buildMinusMinusOp (SgExpression *op=NULL) |
ROSE_DLL_API SgMinusMinusOp * | buildMinusMinusOp_nfi (SgExpression *op) |
ROSE_DLL_API SgPlusPlusOp * | buildPlusPlusOp (SgExpression *op=NULL) |
ROSE_DLL_API SgPlusPlusOp * | buildPlusPlusOp_nfi (SgExpression *op) |
ROSE_DLL_API SgRealPartOp * | buildRealPartOp (SgExpression *op=NULL) |
ROSE_DLL_API SgRealPartOp * | buildRealPartOp_nfi (SgExpression *op) |
ROSE_DLL_API SgImagPartOp * | buildImagPartOp (SgExpression *op=NULL) |
ROSE_DLL_API SgImagPartOp * | buildImagPartOp_nfi (SgExpression *op) |
ROSE_DLL_API SgConjugateOp * | buildConjugateOp (SgExpression *op=NULL) |
ROSE_DLL_API SgConjugateOp * | buildConjugateOp_nfi (SgExpression *op) |
ROSE_DLL_API SgVarArgStartOneOperandOp * | buildVarArgStartOneOperandOp (SgExpression *op=NULL) |
ROSE_DLL_API SgVarArgStartOneOperandOp * | buildVarArgStartOneOperandOp_nfi (SgExpression *op) |
ROSE_DLL_API SgVarArgEndOp * | buildVarArgEndOp (SgExpression *op=NULL) |
ROSE_DLL_API SgVarArgEndOp * | buildVarArgEndOp_nfi (SgExpression *op) |
ROSE_DLL_API SgAbsOp * | buildAbsOp (SgExpression *op=NULL) |
ROSE_DLL_API SgAbsOp * | buildAbsOp_nfi (SgExpression *op) |
ROSE_DLL_API SgMatrixTransposeOp * | buildMatrixTransposeOp (SgExpression *op=NULL) |
ROSE_DLL_API SgMatrixTransposeOp * | buildMatrixTransposeOp_nfi (SgExpression *op) |
ROSE_DLL_API SgCastExp * | 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. | |
ROSE_DLL_API SgCastExp * | buildCastExp_nfi (SgExpression *operand_i, SgType *expression_type, SgCastExp::cast_type_enum cast_type) |
ROSE_DLL_API SgVarArgOp * | buildVarArgOp_nfi (SgExpression *operand_i, SgType *expression_type) |
Build vararg op expression. | |
ROSE_DLL_API SgMinusOp * | buildMinusOp (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 SgMinusOp * | buildMinusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode) |
ROSE_DLL_API SgMinusMinusOp * | buildMinusMinusOp (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode) |
ROSE_DLL_API SgMinusMinusOp * | buildMinusMinusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode) |
ROSE_DLL_API SgPlusPlusOp * | buildPlusPlusOp (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 SgPlusPlusOp * | buildPlusPlusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode) |
ROSE_DLL_API SgThrowOp * | buildThrowOp (SgExpression *, SgThrowOp::e_throw_kind) |
Build a ThrowOp expression. | |
ROSE_DLL_API SgNewExp * | buildNewExp (SgType *type, SgExprListExp *exprListExp, SgConstructorInitializer *constInit, SgExpression *expr, short int val, SgFunctionDeclaration *funcDecl) |
ROSE_DLL_API SgDeleteExp * | buildDeleteExp (SgExpression *variable, short is_array, short need_global_specifier, SgFunctionDeclaration *deleteOperatorDeclaration) |
ROSE_DLL_API SgTypeIdOp * | buildTypeIdOp (SgExpression *operand_expr, SgType *operand_type) |
DQ (1/25/2013): Added support for typeId operators. | |
ROSE_DLL_API SgAddOp * | buildAddOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgAddOp * | buildAddOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgAndAssignOp * | buildAndAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgAndAssignOp * | buildAndAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgAndOp * | buildAndOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgAndOp * | buildAndOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgArrowExp * | buildArrowExp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgArrowExp * | buildArrowExp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgArrowStarOp * | buildArrowStarOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgArrowStarOp * | buildArrowStarOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgAssignOp * | buildAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgAssignOp * | buildAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgAtOp * | buildAtOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgAtOp * | buildAtOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgBitAndOp * | buildBitAndOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgBitAndOp * | buildBitAndOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgBitOrOp * | buildBitOrOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgBitOrOp * | buildBitOrOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgBitXorOp * | buildBitXorOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgBitXorOp * | buildBitXorOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgCommaOpExp * | buildCommaOpExp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgCommaOpExp * | buildCommaOpExp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgConcatenationOp * | buildConcatenationOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgConcatenationOp * | buildConcatenationOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgDivAssignOp * | buildDivAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgDivAssignOp * | buildDivAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgDivideOp * | buildDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgDivideOp * | buildDivideOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgDotExp * | buildDotExp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgDotExp * | buildDotExp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgDotStarOp * | buildDotStarOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgDotStarOp * | buildDotStarOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgEqualityOp * | buildEqualityOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgEqualityOp * | buildEqualityOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgExponentiationOp * | buildExponentiationOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgExponentiationOp * | buildExponentiationOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgExponentiationAssignOp * | buildExponentiationAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgExponentiationAssignOp * | buildExponentiationAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgGreaterOrEqualOp * | buildGreaterOrEqualOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgGreaterOrEqualOp * | buildGreaterOrEqualOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgGreaterThanOp * | buildGreaterThanOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgGreaterThanOp * | buildGreaterThanOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgIntegerDivideOp * | buildIntegerDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgIntegerDivideOp * | buildIntegerDivideOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgIntegerDivideAssignOp * | buildIntegerDivideAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgIntegerDivideAssignOp * | buildIntegerDivideAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgIorAssignOp * | buildIorAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgIorAssignOp * | buildIorAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgIsOp * | buildIsOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgIsOp * | buildIsOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgIsNotOp * | buildIsNotOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgIsNotOp * | buildIsNotOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgLessOrEqualOp * | buildLessOrEqualOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgLessOrEqualOp * | buildLessOrEqualOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgLessThanOp * | buildLessThanOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgLessThanOp * | buildLessThanOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgLshiftAssignOp * | buildLshiftAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgLshiftAssignOp * | buildLshiftAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgLshiftOp * | buildLshiftOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgLshiftOp * | buildLshiftOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgMembershipOp * | buildMembershipOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgMembershipOp * | buildMembershipOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgMinusAssignOp * | buildMinusAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgMinusAssignOp * | buildMinusAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgModAssignOp * | buildModAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgModAssignOp * | buildModAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgModOp * | buildModOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgModOp * | buildModOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgMultAssignOp * | buildMultAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgMultAssignOp * | buildMultAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgMultiplyOp * | buildMultiplyOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgMultiplyOp * | buildMultiplyOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgNonMembershipOp * | buildNonMembershipOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgNonMembershipOp * | buildNonMembershipOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgNotEqualOp * | buildNotEqualOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgNotEqualOp * | buildNotEqualOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgOrOp * | buildOrOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgOrOp * | buildOrOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgPlusAssignOp * | buildPlusAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgPlusAssignOp * | buildPlusAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgPntrArrRefExp * | buildPntrArrRefExp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgPntrArrRefExp * | buildPntrArrRefExp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgRemOp * | buildRemOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgRemOp * | buildRemOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgRshiftAssignOp * | buildRshiftAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgRshiftAssignOp * | buildRshiftAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgJavaUnsignedRshiftAssignOp * | buildJavaUnsignedRshiftAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgJavaUnsignedRshiftAssignOp * | buildJavaUnsignedRshiftAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgReplicationOp * | buildReplicationOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgReplicationOp * | buildReplicationOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgRshiftOp * | buildRshiftOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgRshiftOp * | buildRshiftOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgJavaUnsignedRshiftOp * | buildJavaUnsignedRshiftOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgJavaUnsignedRshiftOp * | buildJavaUnsignedRshiftOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgScopeOp * | buildScopeOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgScopeOp * | buildScopeOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgSubtractOp * | buildSubtractOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgSubtractOp * | buildSubtractOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgXorAssignOp * | buildXorAssignOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgXorAssignOp * | buildXorAssignOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgVarArgCopyOp * | buildVarArgCopyOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgVarArgCopyOp * | buildVarArgCopyOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgVarArgStartOp * | buildVarArgStartOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgVarArgStartOp * | buildVarArgStartOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgPowerOp * | buildPowerOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgPowerOp * | buildPowerOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgElementwisePowerOp * | buildElementwisePowerOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgElementwisePowerOp * | buildElementwisePowerOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgElementwiseMultiplyOp * | buildElementwiseMultiplyOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgElementwiseMultiplyOp * | buildElementwiseMultiplyOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgElementwiseDivideOp * | buildElementwiseDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgElementwiseDivideOp * | buildElementwiseDivideOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgLeftDivideOp * | buildLeftDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgLeftDivideOp * | buildLeftDivideOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgElementwiseLeftDivideOp * | buildElementwiseLeftDivideOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgElementwiseLeftDivideOp * | buildElementwiseLeftDivideOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgElementwiseAddOp * | buildElementwiseAddOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgElementwiseAddOp * | buildElementwiseAddOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgElementwiseSubtractOp * | buildElementwiseSubtractOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgElementwiseSubtractOp * | buildElementwiseSubtractOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgSpaceshipOp * | buildSpaceshipOp (SgExpression *lhs=NULL, SgExpression *rhs=NULL) |
ROSE_DLL_API SgSpaceshipOp * | buildSpaceshipOp_nfi (SgExpression *lhs, SgExpression *rhs) |
ROSE_DLL_API SgConditionalExp * | buildConditionalExp (SgExpression *test=NULL, SgExpression *a=NULL, SgExpression *b=NULL) |
Build a conditional expression ?: | |
SgConditionalExp * | buildConditionalExp_nfi (SgExpression *test, SgExpression *a, SgExpression *b, SgType *t) |
ROSE_DLL_API SgExprListExp * | 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) |
Build a SgExprListExp, used for function call parameter list etc. | |
ROSE_DLL_API SgExprListExp * | buildExprListExp (const std::vector< SgExpression * > &exprs) |
SgExprListExp * | buildExprListExp_nfi () |
SgExprListExp * | buildExprListExp_nfi (const std::vector< SgExpression * > &exprs) |
SgSubscriptExpression * | 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. | |
ROSE_DLL_API SgTupleExp * | 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) |
Build a SgTupleExp. | |
ROSE_DLL_API SgTupleExp * | buildTupleExp (const std::vector< SgExpression * > &exprs) |
SgTupleExp * | buildTupleExp_nfi () |
SgTupleExp * | buildTupleExp_nfi (const std::vector< SgExpression * > &exprs) |
ROSE_DLL_API SgListExp * | 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) |
Build a SgListExp. | |
ROSE_DLL_API SgListExp * | buildListExp (const std::vector< SgExpression * > &exprs) |
SgListExp * | buildListExp_nfi () |
SgListExp * | buildListExp_nfi (const std::vector< SgExpression * > &exprs) |
ROSE_DLL_API SgComprehension * | buildComprehension (SgExpression *target, SgExpression *iter, SgExprListExp *ifs) |
SgComprehension * | buildComprehension_nfi (SgExpression *target, SgExpression *iter, SgExprListExp *ifs) |
ROSE_DLL_API SgListComprehension * | buildListComprehension (SgExpression *elt, SgExprListExp *generators) |
SgListComprehension * | buildListComprehension_nfi (SgExpression *elt, SgExprListExp *generators) |
ROSE_DLL_API SgSetComprehension * | buildSetComprehension (SgExpression *elt, SgExprListExp *generators) |
SgSetComprehension * | buildSetComprehension_nfi (SgExpression *elt, SgExprListExp *generators) |
ROSE_DLL_API SgDictionaryComprehension * | buildDictionaryComprehension (SgKeyDatumPair *kd_pair, SgExprListExp *generators) |
SgDictionaryComprehension * | buildDictionaryComprehension_nfi (SgKeyDatumPair *kd_pair, SgExprListExp *generators) |
ROSE_DLL_API SgVarRefExp * | 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). | |
ROSE_DLL_API SgVarRefExp * | 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. | |
ROSE_DLL_API SgVarRefExp * | buildVarRefExp (const char *varName, SgScopeStatement *scope=NULL) |
Build a variable reference using a C style char array. | |
ROSE_DLL_API SgVarRefExp * | buildVarRefExp (SgVariableSymbol *varSymbol) |
Build a variable reference from an existing symbol. | |
ROSE_DLL_API SgVarRefExp * | buildVarRefExp_nfi (SgVariableSymbol *varSymbol) |
ROSE_DLL_API SgVarRefExp * | 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. | |
ROSE_DLL_API SgVarRefExp * | buildVarRefExp (SgInitializedName *initname, SgScopeStatement *scope=NULL) |
Build a variable reference from an initialized name It first tries to grab the associated symbol, then call buildVarRefExp(const SgName& name, SgScopeStatement*) if symbol does not exist. | |
ROSE_DLL_API SgVarRefExp * | buildOpaqueVarRefExp (const std::string &varName, SgScopeStatement *scope=NULL) |
Build a variable reference expression at scope to an opaque variable which has unknown information except for its name. Used when referring to an internal variable defined in some headers of runtime libraries.(The headers are not yet inserted into the file during translation). Similar to buildOpaqueType();. | |
SgCompoundLiteralExp * | buildCompoundLiteralExp_nfi (SgVariableSymbol *varSymbol) |
Build function for compound literals (uses a SgVariableSymbol and is similar to buildVarRefExp_nfi()). | |
SgCompoundLiteralExp * | buildCompoundLiteralExp (SgVariableSymbol *varSymbol) |
Build function for compound literals (uses a SgVariableSymbol and is similar to buildVarRefExp()). | |
ROSE_DLL_API SgLabelRefExp * | buildLabelRefExp (SgLabelSymbol *s) |
Build a Fortran numeric label ref exp. | |
ROSE_DLL_API SgFunctionRefExp * | 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. | |
ROSE_DLL_API SgFunctionRefExp * | buildFunctionRefExp (const char *name, const SgType *func_type, SgScopeStatement *scope=NULL) |
ROSE_DLL_API SgFunctionRefExp * | 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. | |
ROSE_DLL_API SgFunctionRefExp * | buildFunctionRefExp (const char *name, SgScopeStatement *scope=NULL) |
ROSE_DLL_API SgFunctionRefExp * | buildFunctionRefExp (const SgFunctionDeclaration *func_decl) |
Build SgFunctionRefExp based on a function's declaration. | |
ROSE_DLL_API SgFunctionRefExp * | buildFunctionRefExp (SgFunctionSymbol *sym) |
Build SgFunctionRefExp based on a function's symbol. | |
SgFunctionRefExp * | buildFunctionRefExp_nfi (SgFunctionSymbol *sym) |
SgTemplateFunctionRefExp * | buildTemplateFunctionRefExp_nfi (SgTemplateFunctionSymbol *sym) |
DQ (12/15/2011): Adding template declaration support to the AST. | |
SgTemplateMemberFunctionRefExp * | buildTemplateMemberFunctionRefExp_nfi (SgTemplateMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier) |
DQ (12/29/2011): Adding template declaration support to the AST. | |
SgMemberFunctionRefExp * | buildMemberFunctionRefExp_nfi (SgMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier) |
ROSE_DLL_API SgMemberFunctionRefExp * | buildMemberFunctionRefExp (SgMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier) |
SgClassNameRefExp * | buildClassNameRefExp_nfi (SgClassSymbol *sym) |
ROSE_DLL_API SgClassNameRefExp * | buildClassNameRefExp (SgClassSymbol *sym) |
ROSE_DLL_API SgFunctionCallExp * | buildFunctionCallExp (SgFunctionSymbol *sym, SgExprListExp *parameters=NULL) |
Build a function call expression. | |
SgFunctionCallExp * | buildFunctionCallExp_nfi (SgExpression *f, SgExprListExp *parameters=NULL) |
ROSE_DLL_API SgFunctionCallExp * | buildFunctionCallExp (SgExpression *f, SgExprListExp *parameters=NULL) |
ROSE_DLL_API SgFunctionCallExp * | 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. | |
ROSE_DLL_API SgFunctionCallExp * | buildMemberFunctionCall (std::string className, SgExpression *objectExpression, std::string functionName, SgExprListExp *params, SgScopeStatement *scope) |
Build member function calls. | |
ROSE_DLL_API SgFunctionCallExp * | 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;. | |
SgTypeTraitBuiltinOperator * | buildTypeTraitBuiltinOperator (SgName functionName, SgNodePtrList parameters) |
SgCudaKernelCallExp * | buildCudaKernelCallExp_nfi (SgExpression *kernel, SgExprListExp *parameters=NULL, SgCudaKernelExecConfig *config=NULL) |
Build a CUDA kernel call expression (kernel<<<config>>>(parameters)) | |
SgCudaKernelExecConfig * | buildCudaKernelExecConfig_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 SgAssignInitializer * | buildAssignInitializer (SgExpression *operand_i=NULL, SgType *expression_type=NULL) |
Build the rhs of a variable declaration which includes an assignment. | |
ROSE_DLL_API SgAssignInitializer * | buildAssignInitializer_nfi (SgExpression *operand_i=NULL, SgType *expression_type=NULL) |
ROSE_DLL_API SgAggregateInitializer * | buildAggregateInitializer (SgExprListExp *initializers=NULL, SgType *type=NULL) |
Build an aggregate initializer. | |
ROSE_DLL_API SgAggregateInitializer * | buildAggregateInitializer_nfi (SgExprListExp *initializers, SgType *type=NULL) |
Build an aggregate initializer. | |
ROSE_DLL_API SgCompoundInitializer * | buildCompoundInitializer (SgExprListExp *initializers=NULL, SgType *type=NULL) |
Build a compound initializer, for vector type initialization. | |
ROSE_DLL_API SgCompoundInitializer * | buildCompoundInitializer_nfi (SgExprListExp *initializers, SgType *type=NULL) |
Build a compound initializer, for vector type initialization. | |
ROSE_DLL_API SgConstructorInitializer * | buildConstructorInitializer (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 SgConstructorInitializer * | buildConstructorInitializer_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 SgBracedInitializer * | buildBracedInitializer (SgExprListExp *initializers=NULL, SgType *expression_type=NULL) |
Build an braced initializer. | |
ROSE_DLL_API SgBracedInitializer * | buildBracedInitializer_nfi (SgExprListExp *initializers=NULL, SgType *expression_type=NULL) |
ROSE_DLL_API SgSizeOfOp * | buildSizeOfOp (SgExpression *exp=NULL) |
Build sizeof() expression with an expression parameter. | |
ROSE_DLL_API SgSizeOfOp * | buildSizeOfOp_nfi (SgExpression *exp) |
Build sizeof() expression with an expression parameter. | |
ROSE_DLL_API SgSizeOfOp * | buildSizeOfOp (SgType *type=NULL) |
Build sizeof() expression with a type parameter. | |
ROSE_DLL_API SgSizeOfOp * | buildSizeOfOp_nfi (SgType *type) |
Build sizeof() expression with a type parameter. | |
ROSE_DLL_API SgAlignOfOp * | buildAlignOfOp (SgExpression *exp=NULL) |
Build alignof() expression with an expression parameter. | |
ROSE_DLL_API SgAlignOfOp * | buildAlignOfOp_nfi (SgExpression *exp) |
Build alignof() expression with an expression parameter. | |
ROSE_DLL_API SgAlignOfOp * | buildAlignOfOp (SgType *type=NULL) |
Build alignof() expression with a type parameter. | |
ROSE_DLL_API SgAlignOfOp * | buildAlignOfOp_nfi (SgType *type) |
Build alignof() expression with a type parameter. | |
ROSE_DLL_API SgNoexceptOp * | buildNoexceptOp (SgExpression *exp=NULL) |
Build noexcept operator expression with an expression parameter. | |
ROSE_DLL_API SgNoexceptOp * | buildNoexceptOp_nfi (SgExpression *exp) |
Build noexcept operator expression with an expression parameter. | |
ROSE_DLL_API SgJavaInstanceOfOp * | buildJavaInstanceOfOp (SgExpression *exp=NULL, SgType *type=NULL) |
This is part of Java specific operator support. | |
ROSE_DLL_API SgTypeExpression * | buildTypeExpression (SgType *type) |
DQ (7/24/2014): Adding support for c11 generic operands. | |
ROSE_DLL_API SgFunctionParameterRefExp * | buildFunctionParameterRefExp (int parameter_number, int parameter_level) |
ROSE_DLL_API SgFunctionParameterRefExp * | buildFunctionParameterRefExp_nfi (int parameter_number, int parameter_level) |
ROSE_DLL_API SgLambdaExp * | buildLambdaExp (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 SgLambdaExp * | buildLambdaExp_nfi (SgLambdaCaptureList *lambda_capture_list, SgClassDeclaration *lambda_closure_class, SgFunctionDeclaration *lambda_function) |
ROSE_DLL_API SgLambdaCapture * | buildLambdaCapture (SgExpression *capture_variable, SgExpression *source_closure_variable, SgExpression *closure_variable) |
ROSE_DLL_API SgLambdaCapture * | buildLambdaCapture_nfi (SgExpression *capture_variable, SgExpression *source_closure_variable, SgExpression *closure_variable) |
ROSE_DLL_API SgLambdaCaptureList * | buildLambdaCaptureList () |
ROSE_DLL_API SgLambdaCaptureList * | buildLambdaCaptureList_nfi () |
ROSE_DLL_API SgFoldExpression * | buildFoldExpression (SgExpression *operands, std::string operator_token_string, bool is_left_associative) |
ROSE_DLL_API SgFoldExpression * | buildFoldExpression_nfi (SgExpression *operands, std::string operator_token_string, bool is_left_associative) |
ROSE_DLL_API SgAwaitExpression * | buildAwaitExpression () |
ROSE_DLL_API SgAwaitExpression * | buildAwaitExpression_nfi () |
ROSE_DLL_API SgChooseExpression * | buildChooseExpression () |
ROSE_DLL_API SgChooseExpression * | buildChooseExpression_nfi () |
Builders for Matlab nodes | |
ROSE_DLL_API SgRangeExp * | buildRangeExp (SgExpression *start) |
Build a Matlab range expression like start:end or start:stride:end. | |
ROSE_DLL_API SgMatrixExp * | buildMatrixExp (SgExprListExp *firstRow) |
Build a Matlab Matrix. | |
ROSE_DLL_API SgMagicColonExp * | buildMagicColonExp () |
Build a Matlab colon expression : | |
ROSE_DLL_API SgMatlabForStatement * | buildMatlabForStatement (SgExpression *loop_index, SgExpression *loop_range, SgBasicBlock *loop_body) |
Build a For-loop statement for matlab. | |
Builders for Ada nodes | |
ROSE_DLL_API SgRangeExp * | buildRangeExp (SgExpression *start, SgExpression *end, SgExpression *stride) |
Builders for support nodes | |
AST high level builders for SgSupport nodes | |
ROSE_DLL_API SgInitializedName * | 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. | |
ROSE_DLL_API SgInitializedName * | 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. | |
ROSE_DLL_API SgInitializedName * | 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. | |
ROSE_DLL_API SgInitializedName * | 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. | |
ROSE_DLL_API SgFunctionParameterTypeList * | buildFunctionParameterTypeList (SgFunctionParameterList *paralist) |
Build SgFunctionParameterTypeList from SgFunctionParameterList. | |
ROSE_DLL_API SgFunctionParameterTypeList * | buildFunctionParameterTypeList (SgExprListExp *expList) |
Build SgFunctionParameterTypeList from an expression list, useful when building a function call. | |
ROSE_DLL_API SgFunctionParameterTypeList * | buildFunctionParameterTypeList (SgType *type0=NULL, SgType *type1=NULL, SgType *type2=NULL, SgType *type3=NULL, SgType *type4=NULL, SgType *type5=NULL, SgType *type6=NULL, SgType *type7=NULL) |
Build an SgFunctionParameterTypeList from SgTypes. To build an. | |
Builders for statements | |
AST high level builders for SgStatement, explicit scope parameters are allowed for flexibility. Please use SageInterface::appendStatement(), prependStatement(), and insertStatement() to attach the newly built statements into an AST tree. Calling member functions like SgScopeStatement::prepend_statement() or using container functions such as pushback() is discouraged since they don't handle many side effects for symbol tables, source file information, scope and parent pointers etc. | |
ROSE_DLL_API SgVariableDeclaration * | buildVariableDeclaration (const SgName &name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgVariableDeclaration * | buildVariableDeclaration (const std::string &name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgVariableDeclaration * | buildVariableDeclaration (const char *name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgVariableDeclaration * | buildVariableDeclaration_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 SgVariableDefinition * | buildVariableDefinition_nfi (SgVariableDeclaration *decl, SgInitializedName *init_name, SgInitializer *init) |
Build variable definition. | |
ROSE_DLL_API SgTemplateVariableDeclaration * | buildTemplateVariableDeclaration_nfi (const SgName &name, SgType *type, SgInitializer *varInit, SgScopeStatement *scope) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgTemplateVariableDeclaration * | buildTemplateVariableDeclaration (const SgName &name, SgType *type, SgInitializer *varInit, SgScopeStatement *scope) |
Build template variable declarations. | |
ROSE_DLL_API SgTypedefDeclaration * | 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;. | |
ROSE_DLL_API SgTypedefDeclaration * | buildTypedefDeclaration_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 SgTemplateTypedefDeclaration * | buildTemplateTypedefDeclaration_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 SgTemplateInstantiationTypedefDeclaration * | buildTemplateInstantiationTypedefDeclaration_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 SgFunctionParameterList * | buildFunctionParameterList (SgInitializedName *in1=NULL, SgInitializedName *in2=NULL, SgInitializedName *in3=NULL, SgInitializedName *in4=NULL, SgInitializedName *in5=NULL, SgInitializedName *in6=NULL, SgInitializedName *in7=NULL, SgInitializedName *in8=NULL, SgInitializedName *in9=NULL, SgInitializedName *in10=NULL) |
Build an empty SgFunctionParameterList, possibly with some initialized names filled in. | |
SgFunctionParameterList * | buildFunctionParameterList_nfi () |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgFunctionParameterList * | buildFunctionParameterList (SgFunctionParameterTypeList *paraTypeList) |
Build an SgFunctionParameterList from SgFunctionParameterTypeList, like (int, float,...), used for parameter list of prototype functions when function type( including parameter type list) is known. | |
ROSE_DLL_API SgFunctionParameterList * | buildFunctionParameterList_nfi (SgFunctionParameterTypeList *paraTypeList) |
Build a variable declaration, handle symbol table transparently. | |
SgCtorInitializerList * | buildCtorInitializerList_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 SgFunctionDeclaration * | 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) |
Build a prototype for a function, handle function type, symbol etc transparently. | |
ROSE_DLL_API SgFunctionDeclaration * | buildNondefiningFunctionDeclaration (const SgFunctionDeclaration *funcdecl, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL) |
Build a prototype for an existing function declaration (defining or nondefining is fine) | |
ROSE_DLL_API SgTemplateFunctionDeclaration * | buildNondefiningTemplateFunctionDeclaration (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 SgTemplateFunctionDeclaration * | buildDefiningTemplateFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, SgTemplateFunctionDeclaration *first_nondefining_declaration) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgMemberFunctionDeclaration * | buildDefaultConstructor (SgClassType *classType) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgMemberFunctionDeclaration * | buildNondefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, bool buildTemplateInstantiation, SgTemplateArgumentPtrList *templateArgumentsList) |
Build a prototype member function declaration. | |
ROSE_DLL_API SgTemplateMemberFunctionDeclaration * | buildNondefiningTemplateMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, SgTemplateParameterPtrList *templateParameterList) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgTemplateMemberFunctionDeclaration * | buildDefiningTemplateMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, unsigned int functionConstVolatileFlags, SgTemplateMemberFunctionDeclaration *first_nondefing_declaration) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgMemberFunctionDeclaration * | buildDefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, bool buildTemplateInstantiation, unsigned int functionConstVolatileFlags, SgMemberFunctionDeclaration *first_nondefinng_declaration, SgTemplateArgumentPtrList *templateArgumentsList) |
Build a defining ( non-prototype) member function declaration. | |
ROSE_DLL_API SgMemberFunctionDeclaration * | buildNondefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgMemberFunctionDeclaration * | buildDefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgFunctionDeclaration * | buildDefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope, SgExprListExp *decoratorList, bool buildTemplateInstantiation=false, SgFunctionDeclaration *first_nondefinng_declaration=NULL, SgTemplateArgumentPtrList *templateArgumentsList=NULL) |
Build a function declaration with a function body. | |
ROSE_DLL_API SgFunctionDeclaration * | buildDefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgProcedureHeaderStatement * | buildProcedureHeaderStatement (const SgName &name, SgType *return_type, SgFunctionParameterList *parameter_list, SgProcedureHeaderStatement::subprogram_kind_enum, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgProcedureHeaderStatement * | buildProcedureHeaderStatement (const char *name, SgType *return_type, SgFunctionParameterList *parlist, SgProcedureHeaderStatement::subprogram_kind_enum, SgScopeStatement *scope, SgProcedureHeaderStatement *first_nondefining_declaration) |
Build a Fortran subroutine or procedure. | |
ROSE_DLL_API SgProcedureHeaderStatement * | buildNondefiningProcedureHeaderStatement (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 SgExprStatement * | buildFunctionCallStmt (const SgName &name, SgType *return_type, SgExprListExp *parameters=NULL, SgScopeStatement *scope=NULL) |
Build a regular function call statement. | |
ROSE_DLL_API SgExprStatement * | buildFunctionCallStmt (SgExpression *function, SgExprListExp *parameters=NULL) |
Build a function call statement using function expression and argument list only, like (*funcPtr)(args);. | |
ROSE_DLL_API SgLabelStatement * | 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. | |
SgLabelStatement * | buildLabelStatement_nfi (const SgName &name, SgStatement *stmt, SgScopeStatement *scope) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgGotoStatement * | buildGotoStatement (SgLabelStatement *label=NULL) |
Build a goto statement. | |
SgGotoStatement * | buildGotoStatement_nfi (SgLabelStatement *label) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgGotoStatement * | buildGotoStatement (SgLabelSymbol *symbol) |
Build a goto statement from a label symbol, supporting both C/C++ and Fortran cases. | |
SgGotoStatement * | buildGotoStatement_nfi (SgExpression *expr) |
Build a goto statement from a label expression, supporting only C/C++ and not Fortran cases. | |
ROSE_DLL_API SgCaseOptionStmt * | buildCaseOptionStmt (SgExpression *key=NULL, SgStatement *body=NULL) |
Build a case option statement. | |
SgCaseOptionStmt * | buildCaseOptionStmt_nfi (SgExpression *key, SgStatement *body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgDefaultOptionStmt * | buildDefaultOptionStmt (SgStatement *body=NULL) |
Build a default option statement. | |
SgDefaultOptionStmt * | buildDefaultOptionStmt_nfi (SgStatement *body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgExprStatement * | buildExprStatement (SgExpression *exp=NULL) |
Build a SgExprStatement, set File_Info automatically. | |
SgExprStatement * | buildExprStatement_nfi (SgExpression *exp) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgStatementExpression * | buildStatementExpression (SgStatement *exp) |
Build a GNU statement expression. | |
ROSE_DLL_API SgStatementExpression * | buildStatementExpression_nfi (SgStatement *exp) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgSwitchStatement * | buildSwitchStatement (SgStatement *item_selector=NULL, SgStatement *body=NULL) |
Build a switch statement. | |
SgSwitchStatement * | buildSwitchStatement (SgExpression *item_selector, SgStatement *body=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgSwitchStatement * | buildSwitchStatement_nfi (SgStatement *item_selector, SgStatement *body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgIfStmt * | buildIfStmt (SgStatement *conditional, SgStatement *true_body, SgStatement *false_body) |
Build if statement. | |
SgIfStmt * | buildIfStmt (SgExpression *conditional, SgStatement *true_body, SgStatement *false_body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgIfStmt * | buildIfStmt_nfi (SgStatement *conditional, SgStatement *true_body, SgStatement *false_body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgFortranDo * | buildFortranDo (SgExpression *initialization, SgExpression *bound, SgExpression *increment, SgBasicBlock *) |
Build a Fortran do construct. | |
ROSE_DLL_API SgFortranDo * | buildFortranDo_nfi (SgExpression *initialization, SgExpression *bound, SgExpression *increment, SgBasicBlock *) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgForInitStatement * | buildForInitStatement () |
Build a for init statement. | |
ROSE_DLL_API SgForInitStatement * | buildForInitStatement (const SgStatementPtrList &statements) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgForInitStatement * | buildForInitStatement_nfi (SgStatementPtrList &statements) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgForInitStatement * | buildForInitStatement (SgStatement *statement) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgForStatement * | buildForStatement (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 SgForStatement * | buildForStatement_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 SgForStatement * | buildForStatement_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 SgRangeBasedForStatement * | 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. | |
ROSE_DLL_API void | buildDoWhileStatement_nfi (SgDoWhileStmt *result, SgStatement *body, SgStatement *condition) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgUpcForAllStatement * | buildUpcForAllStatement_nfi (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgExpression *affinity, SgStatement *loop_body) |
Build a UPC forall statement. | |
ROSE_DLL_API SgUpcForAllStatement * | buildUpcForAllStatement_nfi (SgForInitStatement *init_stmt, SgStatement *test, SgExpression *increment, SgExpression *affinity, SgStatement *loop_body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgUpcNotifyStatement * | buildUpcNotifyStatement_nfi (SgExpression *exp) |
Build a UPC notify statement. | |
ROSE_DLL_API SgUpcWaitStatement * | buildUpcWaitStatement_nfi (SgExpression *exp) |
Build a UPC wait statement. | |
ROSE_DLL_API SgUpcBarrierStatement * | buildUpcBarrierStatement_nfi (SgExpression *exp) |
Build a UPC barrier statement. | |
ROSE_DLL_API SgUpcFenceStatement * | buildUpcFenceStatement_nfi () |
Build a UPC fence statement. | |
ROSE_DLL_API SgWhileStmt * | buildWhileStmt (SgStatement *condition, SgStatement *body, SgStatement *else_body=NULL) |
Build while statement. | |
SgWhileStmt * | buildWhileStmt (SgExpression *condition, SgStatement *body, SgStatement *else_body=NULL) |
Build a variable declaration, handle symbol table transparently. | |
SgWhileStmt * | buildWhileStmt_nfi (SgStatement *condition, SgStatement *body, SgStatement *else_body=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgWithStatement * | buildWithStatement (SgExpression *expr, SgStatement *body) |
Build a with statement. | |
SgWithStatement * | buildWithStatement_nfi (SgExpression *expr, SgStatement *body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgDoWhileStmt * | buildDoWhileStmt (SgStatement *body, SgStatement *condition) |
Build do-while statement. | |
SgDoWhileStmt * | buildDoWhileStmt (SgStatement *body, SgExpression *condition) |
Build a variable declaration, handle symbol table transparently. | |
SgDoWhileStmt * | buildDoWhileStmt_nfi (SgStatement *body, SgStatement *condition) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgPragmaDeclaration * | buildPragmaDeclaration (const std::string &name, SgScopeStatement *scope=NULL) |
Build pragma declaration, handle SgPragma and defining/nondefining pointers internally. | |
SgPragmaDeclaration * | buildPragmaDeclaration_nfi (const std::string &name, SgScopeStatement *scope) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgPragma * | buildPragma (const std::string &name) |
Build SgPragma. | |
ROSE_DLL_API SgEmptyDeclaration * | buildEmptyDeclaration () |
Build an empty declaration (useful for adding precission to comments and CPP handling under token-based unparsing). | |
ROSE_DLL_API SgBasicBlock * | 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) |
Build a SgBasicBlock, setting file info internally. | |
ROSE_DLL_API SgBasicBlock * | buildBasicBlock_nfi () |
Build a variable declaration, handle symbol table transparently. | |
SgBasicBlock * | buildBasicBlock_nfi (const std::vector< SgStatement * > &) |
Build a variable declaration, handle symbol table transparently. | |
SgBasicBlock * | buildBasicBlock_nfi (SgScopeStatement *parent) |
Build a SgBasicBlock and set its parent. This function does NOT link the parent scope to the block. | |
ROSE_DLL_API SgExprStatement * | buildAssignStatement (SgExpression *lhs, SgExpression *rhs) |
Build an assignment statement from lefthand operand and right hand operand. | |
ROSE_DLL_API SgExprStatement * | buildAssignStatement_ast_translate (SgExpression *lhs, SgExpression *rhs) |
This version does not recursively reset the file info as a transformation. | |
ROSE_DLL_API SgBreakStmt * | buildBreakStmt () |
Build a break statement. | |
SgBreakStmt * | buildBreakStmt_nfi () |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgContinueStmt * | buildContinueStmt () |
Build a continue statement. | |
SgContinueStmt * | buildContinueStmt_nfi () |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgFortranContinueStmt * | buildFortranContinueStmt () |
Build a Fortran continue statement. | |
SgFortranContinueStmt * | buildFortranContinueStmt_nfi () |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgPassStatement * | buildPassStatement () |
Build a pass statement. | |
SgPassStatement * | buildPassStatement_nfi () |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgAssertStmt * | buildAssertStmt (SgExpression *test) |
Build a Assert statement. | |
ROSE_DLL_API SgAssertStmt * | buildAssertStmt (SgExpression *test, SgExpression *exceptionArgument) |
Build a variable declaration, handle symbol table transparently. | |
SgAssertStmt * | buildAssertStmt_nfi (SgExpression *test) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgYieldExpression * | buildYieldExpression (SgExpression *value) |
Build a yield statement. | |
SgYieldExpression * | buildYieldExpression_nfi (SgExpression *value) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgKeyDatumPair * | buildKeyDatumPair (SgExpression *key, SgExpression *datum) |
Build a key-datum pair. | |
SgKeyDatumPair * | buildKeyDatumPair_nfi (SgExpression *key, SgExpression *datum) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgDictionaryExp * | buildDictionaryExp (std::vector< SgKeyDatumPair * > pairs) |
Build a list of key-datum pairs. | |
SgDictionaryExp * | buildDictionaryExp_nfi (std::vector< SgKeyDatumPair * > pairs) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgActualArgumentExpression * | buildActualArgumentExpression (SgName arg_name, SgExpression *arg) |
Build an Actual Argument Expression. | |
SgActualArgumentExpression * | buildActualArgumentExpression_nfi (SgName arg_name, SgExpression *arg) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgDeleteExp * | buildDeleteExp (SgExpression *target, bool is_array=false, bool need_global_specifier=false, SgFunctionDeclaration *deleteOperatorDeclaration=NULL) |
Build a delete statement. | |
SgDeleteExp * | buildDeleteExp_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 SgDeclarationScope * | buildDeclarationScope () |
Build a scope statement. Used to build SgNonrealDecl and SgNonrealType. | |
ROSE_DLL_API SgClassDefinition * | buildClassDefinition (SgClassDeclaration *d=NULL, bool buildTemplateInstantiation=false) |
Build a class definition scope statement. | |
SgClassDefinition * | buildClassDefinition_nfi (SgClassDeclaration *d=NULL, bool buildTemplateInstantiation=false) |
Build a class definition scope statement. | |
SgTemplateClassDefinition * | buildTemplateClassDefinition (SgTemplateClassDeclaration *d=NULL) |
Build a template class definition statement. | |
ROSE_DLL_API SgClassDeclaration * | buildNondefiningClassDeclaration_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 SgTemplateClassDeclaration * | buildNondefiningTemplateClassDeclaration_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 SgTemplateClassDeclaration * | buildNondefiningTemplateClassDeclaration (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgTemplateParameterPtrList *templateParameterList, SgTemplateArgumentPtrList *templateSpecializationArgumentList) |
buildNondefiningTemplateClassDeclaration() | |
ROSE_DLL_API SgClassDeclaration * | buildNondefiningClassDeclaration (SgName name, SgScopeStatement *scope) |
DQ (11/7/2009): Added functions to build C++ class. | |
ROSE_DLL_API SgClassDeclaration * | buildDefiningClassDeclaration (SgName name, SgScopeStatement *scope) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgClassDeclaration * | buildClassDeclaration (SgName name, SgScopeStatement *scope) |
Build C++ class (builds both the non-defining and defining declarations; in that order). | |
ROSE_DLL_API SgEnumDeclaration * | buildNondefiningEnumDeclaration_nfi (const SgName &name, SgScopeStatement *scope) |
Build an enum first nondefining declaration, without file info. | |
ROSE_DLL_API SgClassDeclaration * | buildStructDeclaration (const SgName &name, SgScopeStatement *scope=NULL) |
Build a structure, It is also a declaration statement in SAGE III. | |
ROSE_DLL_API SgClassDeclaration * | buildStructDeclaration (const std::string &name, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgClassDeclaration * | buildStructDeclaration (const char *name, SgScopeStatement *scope=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgStmtDeclarationStatement * | buildStmtDeclarationStatement (SgStatement *stmt) |
Build a StmtDeclarationStmt. | |
ROSE_DLL_API SgStmtDeclarationStatement * | buildStmtDeclarationStatement_nfi (SgStatement *stmt) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgNamespaceDeclarationStatement * | buildNamespaceDeclaration (const SgName &name, SgScopeStatement *scope=NULL) |
tps (09/02/2009) : Added support for building namespaces | |
ROSE_DLL_API SgNamespaceDeclarationStatement * | buildNamespaceDeclaration_nfi (const SgName &name, bool unnamednamespace, SgScopeStatement *scope) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgNamespaceDefinitionStatement * | buildNamespaceDefinition (SgNamespaceDeclarationStatement *d=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgNamespaceAliasDeclarationStatement * | buildNamespaceAliasDeclarationStatement (const SgName &name, SgNamespaceDeclarationStatement *namespaceDeclaration) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgNaryComparisonOp * | buildNaryComparisonOp (SgExpression *lhs) |
driscoll6 (7/20/11) : Support n-ary operators for python | |
ROSE_DLL_API SgNaryComparisonOp * | buildNaryComparisonOp_nfi (SgExpression *lhs) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgNaryBooleanOp * | buildNaryBooleanOp (SgExpression *lhs) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgNaryBooleanOp * | buildNaryBooleanOp_nfi (SgExpression *lhs) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgStringConversion * | buildStringConversion (SgExpression *exp) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgStringConversion * | buildStringConversion_nfi (SgExpression *exp) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgClassDeclaration * | buildClassDeclaration_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 SgTemplateClassDeclaration * | buildTemplateClassDeclaration_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 SgTemplateClassDeclaration * | buildTemplateClassDeclaration (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgTemplateClassDeclaration *nonDefiningDecl, SgTemplateParameterPtrList *templateParameterList, SgTemplateArgumentPtrList *templateSpecializationArgumentList) |
Build tempplate class declaration. | |
ROSE_DLL_API SgJovialDefineDeclaration * | buildJovialDefineDeclaration_nfi (const SgName &name, const std::string ¶ms, const std::string &def_string, SgScopeStatement *scope=NULL) |
Build a Jovial define directive declaration statement. | |
ROSE_DLL_API SgJovialForThenStatement * | buildJovialForThenStatement_nfi () |
Build a Jovial loop statement. | |
ROSE_DLL_API SgDerivedTypeStatement * | 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). | |
ROSE_DLL_API SgModuleStatement * | buildModuleStatement (const SgName &name, SgScopeStatement *scope) |
Build a Fortran module declaration. | |
ROSE_DLL_API SgJovialTableStatement * | buildJovialTableStatement (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope=NULL) |
Build a Jovial table declaration statement. | |
ROSE_DLL_API SgJovialTableType * | 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. | |
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 SgEnumDeclaration * | buildEnumDeclaration (const SgName &name, SgScopeStatement *scope=NULL) |
Build an enum, It is also a declaration statement in SAGE III. | |
ROSE_DLL_API SgEnumDeclaration * | buildEnumDeclaration_nfi (const SgName &name, SgScopeStatement *scope=NULL) |
Build an enum, It is also a declaration statement in SAGE III. | |
ROSE_DLL_API SgReturnStmt * | buildReturnStmt (SgExpression *expression=NULL) |
Build a return statement. | |
ROSE_DLL_API SgReturnStmt * | buildReturnStmt_nfi (SgExpression *expression) |
Build a return statement. | |
ROSE_DLL_API SgNullStatement * | buildNullStatement () |
Build a NULL statement. | |
SgNullStatement * | buildNullStatement_nfi () |
Build a NULL statement. | |
ROSE_DLL_API SgAttributeSpecificationStatement * | buildAttributeSpecificationStatement (SgAttributeSpecificationStatement::attribute_spec_enum kind) |
Build Fortran attribute specification statement. | |
ROSE_DLL_API SgFortranIncludeLine * | buildFortranIncludeLine (std::string filename) |
Build Fortran include line. | |
ROSE_DLL_API SgCommonBlockObject * | buildCommonBlockObject (std::string name="", SgExprListExp *exp_list=NULL) |
Build a Fortran common block, possibly with a name. | |
ROSE_DLL_API SgCommonBlock * | buildCommonBlock (SgCommonBlockObject *first_block=NULL) |
Build a Fortran Common statement. | |
ROSE_DLL_API SgCatchOptionStmt * | buildCatchOptionStmt (SgVariableDeclaration *condition=NULL, SgStatement *body=NULL) |
Build a catch statement. | |
ROSE_DLL_API SgAsyncStmt * | buildAsyncStmt (SgBasicBlock *body) |
MH (6/10/2014): Added async support. | |
ROSE_DLL_API SgFinishStmt * | buildFinishStmt (SgBasicBlock *body) |
MH (6/11/2014): Added finish support. | |
ROSE_DLL_API SgAtStmt * | buildAtStmt (SgExpression *expression, SgBasicBlock *body) |
MH (6/11/2014): Added at support. | |
ROSE_DLL_API SgAtomicStmt * | buildAtomicStmt (SgBasicBlock *body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgWhenStmt * | buildWhenStmt (SgExpression *expression, SgBasicBlock *body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgAtExp * | buildAtExp (SgExpression *expression, SgBasicBlock *body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgFinishExp * | buildFinishExp (SgExpression *expression, SgBasicBlock *body) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgHereExp * | buildHereExpression () |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgDotDotExp * | buildDotDotExp () |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgTryStmt * | buildTryStmt (SgStatement *body, SgCatchOptionStmt *catch0=NULL, SgCatchOptionStmt *catch1=NULL, SgCatchOptionStmt *catch2=NULL, SgCatchOptionStmt *catch3=NULL, SgCatchOptionStmt *catch4=NULL) |
Build a try statement. | |
ROSE_DLL_API SgTryStmt * | buildTryStmt (SgBasicBlock *try_body, SgBasicBlock *finally_body=NULL) |
Build a try statement. | |
ROSE_DLL_API SgCatchStatementSeq * | buildCatchStatementSeq (SgCatchOptionStmt *=NULL) |
Build an initial sequence of Catch blocks containing 0 or 1 element. | |
ROSE_DLL_API SgJavaSynchronizedStatement * | buildJavaSynchronizedStatement (SgExpression *, SgBasicBlock *) |
Build a Java Synchronized statement. | |
ROSE_DLL_API SgJavaThrowStatement * | buildJavaThrowStatement (SgThrowOp *) |
Build a Java Throw statement. | |
ROSE_DLL_API SgJavaForEachStatement * | buildJavaForEachStatement (SgVariableDeclaration *=NULL, SgExpression *=NULL, SgStatement *=NULL) |
Build a Java Foreach statement. | |
ROSE_DLL_API SgJavaLabelStatement * | buildJavaLabelStatement (const SgName &, SgStatement *=NULL) |
Build a Java Label statement. | |
ROSE_DLL_API SgExecStatement * | buildExecStatement (SgExpression *executable, SgExpression *globals=NULL, SgExpression *locals=NULL) |
Build an exec statement. | |
SgExecStatement * | buildExecStatement_nfi (SgExpression *executable, SgExpression *globals=NULL, SgExpression *locals=NULL) |
Build an exec stmt. | |
ROSE_DLL_API SgPythonPrintStmt * | buildPythonPrintStmt (SgExpression *dest=NULL, SgExprListExp *values=NULL) |
Build a python print statement. | |
SgPythonPrintStmt * | buildPythonPrintStmt_nfi (SgExpression *dest=NULL, SgExprListExp *values=NULL) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgPythonGlobalStmt * | buildPythonGlobalStmt (SgInitializedNamePtrList &names) |
Build a python global statement. | |
SgPythonGlobalStmt * | buildPythonGlobalStmt_nfi (SgInitializedNamePtrList &names) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgAsmStmt * | buildAsmStatement (std::string s) |
Build a NULL statement. | |
SgAsmStmt * | buildAsmStatement_nfi (std::string s) |
Build an asm statement. | |
ROSE_DLL_API SgAsmStmt * | buildMultibyteNopStatement (int n) |
DQ (4/30/2010): Added support for building nop statement using asm statement Building nop statement using asm statement. | |
ROSE_DLL_API SgBaseClass * | buildBaseClass (SgClassDeclaration *classDeclaration, SgClassDefinition *classDefinition, bool isVirtual, bool isDirect) |
DQ (5/6/2013): Added build functions to support SgBaseClass construction. | |
ROSE_DLL_API SgNonrealBaseClass * | buildNonrealBaseClass (SgNonrealDecl *classDeclaration, SgClassDefinition *classDefinition, bool isVirtual, bool isDirect) |
Build a variable declaration, handle symbol table transparently. | |
ROSE_DLL_API SgStaticAssertionDeclaration * | buildStaticAssertionDeclaration (SgExpression *condition, const SgName &string_literal) |
DQ (7/25/2014): Adding support for C11 static assertions. | |
ROSE_DLL_API SgMicrosoftAttributeDeclaration * | buildMicrosoftAttributeDeclaration (const SgName &name) |
DQ (8/17/2014): Adding support for Microsoft MSVC specific attributes. | |
ROSE_DLL_API SgStatement * | buildStatementFromString (const std::string &stmt_str, SgScopeStatement *scope) |
Liao (9/18/2015): experimental support of building a statement from a string. | |
ROSE_DLL_API SgUsingDirectiveStatement * | buildUsingDirectiveStatement (SgNamespaceDeclarationStatement *ns_decl) |
Build a using directive statement. | |
Builders for others | |
AST high level builders for others | |
ROSE_DLL_API SgFile * | buildFile (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 SgSourceFile * | buildSourceFile (const std::string &outputFileName, SgProject *project=NULL, bool clear_globalScopeAcrossFiles=false) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgSourceFile * | buildSourceFile (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 PreprocessingInfo * | 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(). | |
ROSE_DLL_API PreprocessingInfo * | buildCpreprocessorDefineDeclaration (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 PreprocessingInfo * | 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. | |
ROSE_DLL_API AbstractHandle::abstract_handle * | buildAbstractHandle (SgNode *n) |
Build an abstract handle from a SgNode. | |
ROSE_DLL_API SgEquivalenceStatement * | buildEquivalenceStatement (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 SgType * | getTargetFileTypeSupport (SgType *snippet_type, SgScopeStatement *targetScope) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgType * | getTargetFileType (SgType *snippet_type, SgScopeStatement *targetScope) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgSymbol * | findAssociatedSymbolInTargetAST (SgDeclarationStatement *snippet_declaration, SgScopeStatement *targetScope) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgDeclarationStatement * | findAssociatedDeclarationInTargetAST (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 SgVarRefExp * | buildJavaArrayLengthVarRefExp () |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgScopeStatement * | buildScopeStatement (SgClassDefinition *=NULL) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaTypeExpression * | buildJavaTypeExpression (SgType *) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaMarkerAnnotation * | buildJavaMarkerAnnotation (SgType *) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaMemberValuePair * | buildJavaMemberValuePair (const SgName &, SgExpression *) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaSingleMemberAnnotation * | buildJavaSingleMemberAnnotation (SgType *, SgExpression *) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaNormalAnnotation * | buildJavaNormalAnnotation (SgType *) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaNormalAnnotation * | buildJavaNormalAnnotation (SgType *, std::list< SgJavaMemberValuePair * > &) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgInitializedName * | buildJavaFormalParameter (SgType *, const SgName &, bool is_var_args=false, bool is_final=false) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaPackageStatement * | buildJavaPackageStatement (std::string) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaImportStatement * | buildJavaImportStatement (std::string, bool) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgClassDeclaration * | buildJavaDefiningClassDeclaration (SgScopeStatement *, std::string, SgClassDeclaration::class_types kind=SgClassDeclaration::e_class) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgSourceFile * | buildJavaSourceFile (SgProject *, std::string, SgClassDefinition *, std::string) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgArrayType * | getUniqueJavaArrayType (SgType *, int) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaParameterizedType * | getUniqueJavaParameterizedType (SgNamedType *, SgTemplateParameterPtrList *) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaQualifiedType * | getUniqueJavaQualifiedType (SgClassDeclaration *, SgNamedType *, SgNamedType *) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaWildcardType * | getUniqueJavaWildcardUnbound () |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaWildcardType * | getUniqueJavaWildcardExtends (SgType *) |
Build a SgFile node and attach it to SgProject. | |
ROSE_DLL_API SgJavaWildcardType * | getUniqueJavaWildcardSuper (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 SgScopeStatement * | topScopeStack () |
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 | |
SgScopeStatement * | 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). | |
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. | |
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.
void SageBuilder::initDiagnostics | ( | ) |
Definition at line 60 of file sageBuilder.C.
void SageBuilder::pushScopeStack | ( | SgScopeStatement * | stmt | ) |
Public interfaces of the scope stack, should be stable.
Definition at line 359 of file sageBuilder.C.
References ScopeStack.
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.
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().
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.
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.
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.
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.
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().
string SageBuilder::display | ( | SourcePositionClassification & | scp | ) |
display function for debugging
Definition at line 203 of file sageBuilder.C.
References e_sourcePosition_last, e_sourcePositionCompilerGenerated, e_sourcePositionDefault, e_sourcePositionFrontendConstruction, e_sourcePositionNullPointers, and e_sourcePositionTransformation.
Referenced by buildClassDeclaration_nfi(), buildNondefiningClassDeclaration_nfi(), and SageInterface::setSourcePosition().
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.
SgName SageBuilder::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.
Definition at line 432 of file sageBuilder.C.
References SgTemplateArgument::argument_undefined, SgType::class_name(), SgDeclarationStatement::class_name(), SgExpression::class_name(), SgFile::e_Cxx_language, SgTemplateArgument::get_argumentType(), SgTemplateArgument::get_expression(), SgInitializedName::get_qualified_name(), SgTemplateArgument::get_type(), SgTemplateArgument::nontype_argument, SgTemplateArgument::start_of_pack_expansion_argument, SgType::stripType(), SgTemplateArgument::template_template_argument, SgTemplateArgument::type_argument, SgNode::unparseToString(), and SgDeclarationStatement::variantT().
Referenced by buildClassDeclaration_nfi(), buildDefiningFunctionDeclaration_T(), buildDefiningMemberFunctionDeclaration(), buildNondefiningClassDeclaration_nfi(), buildNondefiningTemplateClassDeclaration_nfi(), buildTemplateClassDeclaration_nfi(), and buildTemplateInstantiationTypedefDeclaration_nfi().
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().
SgTypeBool * SageBuilder::buildBoolType | ( | ) |
Built in simple types.
Definition at line 8611 of file sageBuilder.C.
References buildBoolType().
Referenced by buildBoolType(), and SageInterface::replaceExpressionWithStatement().
SgTypeNullptr * SageBuilder::buildNullptrType | ( | ) |
Built in simple types.
Definition at line 8615 of file sageBuilder.C.
References SgTypeNullptr::createType().
SgTypeChar * SageBuilder::buildCharType | ( | ) |
Built in simple types.
Definition at line 8622 of file sageBuilder.C.
References SgTypeChar::createType().
SgTypeDouble * SageBuilder::buildDoubleType | ( | ) |
Built in simple types.
Definition at line 8892 of file sageBuilder.C.
References SgTypeDouble::createType().
SgTypeFloat * SageBuilder::buildFloatType | ( | ) |
Built in simple types.
Definition at line 8915 of file sageBuilder.C.
References SgTypeFloat::createType().
SgTypeInt * SageBuilder::buildIntType | ( | ) |
Built in simple types.
Definition at line 8887 of file sageBuilder.C.
References buildIntType().
Referenced by buildFunctionRefExp(), buildIntType(), buildOpaqueType(), buildOpaqueVarRefExp(), SageInterface::loopCollapsing(), SageInterface::loopTiling(), and SageInterface::loopUnrolling().
SgTypeLong * SageBuilder::buildLongType | ( | ) |
Built in simple types.
Definition at line 8836 of file sageBuilder.C.
References SgTypeLong::createType().
SgTypeLongDouble * SageBuilder::buildLongDoubleType | ( | ) |
Built in simple types.
Definition at line 8672 of file sageBuilder.C.
References SgTypeLongDouble::createType().
SgTypeLongLong * SageBuilder::buildLongLongType | ( | ) |
Built in simple types.
Definition at line 8665 of file sageBuilder.C.
References SgTypeLongLong::createType().
SgTypeShort * SageBuilder::buildShortType | ( | ) |
Built in simple types.
Definition at line 8822 of file sageBuilder.C.
References SgTypeShort::createType().
SgTypeFloat80 * SageBuilder::buildFloat80Type | ( | ) |
Built in simple types.
Definition at line 8713 of file sageBuilder.C.
References SgTypeFloat80::createType().
SgTypeFloat128 * SageBuilder::buildFloat128Type | ( | ) |
Built in simple types.
Definition at line 8719 of file sageBuilder.C.
References SgTypeFloat128::createType().
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().
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().
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.
SgTypeString * SageBuilder::buildStringType | ( | SgExpression * | stringLengthExpression | ) |
Built in simple types.
Definition at line 8855 of file sageBuilder.C.
SgTypeVoid * SageBuilder::buildVoidType | ( | ) |
Built in simple types.
Definition at line 8801 of file sageBuilder.C.
References SgTypeVoid::createType().
Referenced by buildDefaultConstructor(), and buildProcedureHeaderStatement().
SgTypeWchar * SageBuilder::buildWcharType | ( | ) |
Built in simple types.
Definition at line 8770 of file sageBuilder.C.
References SgTypeWchar::createType().
SgTypeChar16 * SageBuilder::buildChar16Type | ( | ) |
Built in simple types.
Definition at line 8778 of file sageBuilder.C.
References SgTypeChar16::createType().
SgTypeChar32 * SageBuilder::buildChar32Type | ( | ) |
Built in simple types.
Definition at line 8786 of file sageBuilder.C.
References SgTypeChar32::createType().
SgTypeSignedChar * SageBuilder::buildSignedCharType | ( | ) |
Built in simple types.
Definition at line 8794 of file sageBuilder.C.
References SgTypeSignedChar::createType().
SgTypeSignedInt * SageBuilder::buildSignedIntType | ( | ) |
Built in simple types.
Definition at line 8725 of file sageBuilder.C.
References SgTypeSignedInt::createType().
SgTypeSignedLong * SageBuilder::buildSignedLongType | ( | ) |
Built in simple types.
Definition at line 8739 of file sageBuilder.C.
References SgTypeSignedLong::createType().
SgTypeSignedLongLong * SageBuilder::buildSignedLongLongType | ( | ) |
Built in simple types.
Definition at line 8746 of file sageBuilder.C.
References SgTypeSignedLongLong::createType().
SgTypeSignedShort * SageBuilder::buildSignedShortType | ( | ) |
Built in simple types.
Definition at line 8706 of file sageBuilder.C.
References SgTypeSignedShort::createType().
SgTypeSigned128bitInteger * SageBuilder::buildSigned128bitIntegerType | ( | ) |
Built in simple types.
Definition at line 8754 of file sageBuilder.C.
References SgTypeSigned128bitInteger::createType().
SgTypeUnsigned128bitInteger * SageBuilder::buildUnsigned128bitIntegerType | ( | ) |
Built in simple types.
Definition at line 8761 of file sageBuilder.C.
References SgTypeUnsigned128bitInteger::createType().
SgTypeUnsignedChar * SageBuilder::buildUnsignedCharType | ( | ) |
Built in simple types.
Definition at line 8732 of file sageBuilder.C.
References SgTypeUnsignedChar::createType().
SgTypeUnsignedInt * SageBuilder::buildUnsignedIntType | ( | ) |
Built in simple types.
Definition at line 8701 of file sageBuilder.C.
References buildUnsignedIntType().
Referenced by buildUnsignedIntType().
SgTypeUnsignedLong * SageBuilder::buildUnsignedLongType | ( | ) |
Built in simple types.
Definition at line 8686 of file sageBuilder.C.
References SgTypeUnsignedLong::createType().
SgTypeUnsignedLongLong * SageBuilder::buildUnsignedLongLongType | ( | ) |
Built in simple types.
Definition at line 8679 of file sageBuilder.C.
References SgTypeUnsignedLongLong::createType().
SgTypeUnsignedShort * SageBuilder::buildUnsignedShortType | ( | ) |
Built in simple types.
Definition at line 8829 of file sageBuilder.C.
References SgTypeUnsignedShort::createType().
SgTypeUnknown * SageBuilder::buildUnknownType | ( | ) |
Built in simple types.
Definition at line 8808 of file sageBuilder.C.
References SgTypeUnknown::createType().
SgAutoType * SageBuilder::buildAutoType | ( | ) |
Built in simple types.
Definition at line 8815 of file sageBuilder.C.
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().
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().
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().
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().
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.
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().
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().
SgRvalueReferenceType * SageBuilder::buildRvalueReferenceType | ( | SgType * | base_type | ) |
Build a rvalue reference type.
Definition at line 8456 of file sageBuilder.C.
References SgRvalueReferenceType::createType().
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().
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().
SgModifierType * SageBuilder::buildModifierType | ( | SgType * | base_type = nullptr | ) |
Build a modifier type.
Definition at line 8946 of file sageBuilder.C.
References SgModifierType::class_name().
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().
SgModifierType * SageBuilder::buildAliasedType | ( | SgType * | base_type | ) |
Build an aliased type for Ada.
Definition at line 9225 of file sageBuilder.C.
References SgModifierType::get_typeModifier().
SgModifierType * SageBuilder::buildNotNullType | ( | SgType * | base_type | ) |
Build a not null type for Ada.
Definition at line 9232 of file sageBuilder.C.
References SgModifierType::get_typeModifier().
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().
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().
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().
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().
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.
base_type | The 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_info | A 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().
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().
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().
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().
SgMemberFunctionType * SageBuilder::buildMemberFunctionType | ( | SgType * | return_type, |
SgFunctionParameterTypeList * | typeList, | ||
SgScopeStatement * | struct_name, | ||
unsigned int | mfunc_specifier | ||
) |
Built in simple types.
Definition at line 2517 of file sageBuilder.C.
References buildMemberFunctionType(), SgScopeStatement::class_name(), SgFunctionParameterTypeList::get_arguments(), SgClassDefinition::get_declaration(), SageInterface::get_name(), and SgNode::get_parent().
Referenced by buildDefiningMemberFunctionDeclaration(), buildMemberFunctionType(), and SageInterface::findJavaMain().
SgMemberFunctionType * SageBuilder::buildMemberFunctionType | ( | 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.
Definition at line 2408 of file sageBuilder.C.
References SgMemberFunctionType::createType(), SgNode::get_globalFunctionTypeTable(), SgMemberFunctionType::get_mangled(), SgMemberFunctionType::isLvalueReferenceFunc(), SgMemberFunctionType::isRvalueReferenceFunc(), and SgNode::set_parent().
SgPointerMemberType * SageBuilder::buildPointerMemberType | ( | SgType * | base_type, |
SgType * | classType | ||
) |
Pei-Hung (06/30/2023): support for SgPointerMemberType.
Definition at line 2639 of file sageBuilder.C.
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.
template_decl | the template class declaration (e.g., template <class T> struct matrix {};) |
template_args | the 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. |
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().
SgModifierType * SageBuilder::buildUpcStrictType | ( | SgType * | base_type = nullptr | ) |
Build a UPC strict type.
Definition at line 9242 of file sageBuilder.C.
References SgType::class_name(), SgModifierType::class_name(), SgUPC_AccessModifier::e_upc_strict, and SgModifierType::get_typeModifier().
SgModifierType * SageBuilder::buildUpcRelaxedType | ( | SgType * | base_type = nullptr | ) |
Build a UPC relaxed type.
Definition at line 9275 of file sageBuilder.C.
References SgType::class_name(), SgModifierType::class_name(), SgUPC_AccessModifier::e_upc_relaxed, and SgModifierType::get_typeModifier().
SgModifierType * SageBuilder::buildUpcSharedType | ( | SgType * | base_type = nullptr , |
long | layout = -1 |
||
) |
Build a UPC shared type.
Definition at line 9308 of file sageBuilder.C.
References SgType::class_name(), SgModifierType::class_name(), and SgModifierType::get_typeModifier().
Referenced by buildUpcBlockIndefiniteType(), buildUpcBlockNumberType(), and buildUpcBlockStarType().
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().
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().
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().
SgTypeComplex * SageBuilder::buildComplexType | ( | SgType * | base_type = nullptr | ) |
Build a complex type.
Definition at line 9418 of file sageBuilder.C.
SgTypeImaginary * SageBuilder::buildImaginaryType | ( | SgType * | base_type = nullptr | ) |
Build an imaginary type.
Definition at line 9429 of file sageBuilder.C.
SgConstVolatileModifier * SageBuilder::buildConstVolatileModifier | ( | SgConstVolatileModifier::cv_modifier_enum | mtype = SgConstVolatileModifier::e_unknown | ) |
Build a const/volatile type qualifier.
Definition at line 9527 of file sageBuilder.C.
SgTypeMatrix * SageBuilder::buildMatrixType | ( | ) |
Build a Matlab Matrix Type.
Build a Matrix Type for Matlab.
Definition at line 9440 of file sageBuilder.C.
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().
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().
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().
SgNullExpression * SageBuilder::buildNullExpression | ( | ) |
Build a null expression, set file info as the default one.
Definition at line 5428 of file sageBuilder.C.
References buildNullExpression_nfi(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildFortranDo(), buildReturnStmt(), SageInterface::moveForStatementIncrementIntoBody(), and SageInterface::replaceExpressionWithStatement().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
SgDoubleVal * SageBuilder::buildDoubleVal | ( | double | value = 0.0 | ) |
Build a double value expression.
Definition at line 4458 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
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().
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().
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().
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().
SgIntVal * SageBuilder::buildIntVal | ( | int | value = 0 | ) |
Build an integer value expression.
Definition at line 4505 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
Referenced by SageInterface::doLoopNormalization(), SageInterface::getForLoopInformations(), SageInterface::isCanonicalDoLoop(), SageInterface::isCanonicalForLoop(), SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::loopUnrolling(), SageInterface::normalizeForLoopIncrement(), and SageInterface::normalizeForLoopTest().
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().
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().
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().
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().
SgLongIntVal * SageBuilder::buildLongIntVal | ( | long | value = 0 | ) |
Build a long integer value expression.
Definition at line 4542 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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.
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().
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().
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.
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
SgUnsignedCharVal * SageBuilder::buildUnsignedCharVal | ( | unsigned char | v = 0 | ) |
Build an unsigned char.
Definition at line 4666 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
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().
SgUnsignedShortVal * SageBuilder::buildUnsignedShortVal | ( | unsigned short | v = 0 | ) |
Build an unsigned short integer.
Definition at line 4714 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
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().
SgUnsignedIntVal * SageBuilder::buildUnsignedIntVal | ( | unsigned int | v = 0 | ) |
Build an unsigned integer.
Definition at line 4738 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
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().
SgUnsignedLongVal * SageBuilder::buildUnsignedLongVal | ( | unsigned long | v = 0 | ) |
Build a unsigned long integer.
Definition at line 4762 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
SgNonrealDecl * SageBuilder::buildNonrealDecl | ( | 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.
Definition at line 4861 of file sageBuilder.C.
References SgNonrealType::class_name(), SgDeclarationScope::class_name(), SgNonrealDecl::class_name(), SgNonrealSymbol::class_name(), SgLocatedNode::get_endOfConstruct(), SgLocatedNode::get_startOfConstruct(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), Sg_File_Info::setCompilerGenerated(), and SageInterface::setSourcePosition().
Referenced by buildNonrealType().
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().
SgUpcThreads * SageBuilder::buildUpcThreads | ( | ) |
Build UPC THREADS (integer expression)
Definition at line 4918 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgUpcThreads * SageBuilder::buildUpcThreads_nfi | ( | ) |
Build UPC THREADS (integer expression)
Definition at line 4927 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
SgUpcMythread * SageBuilder::buildUpcMythread | ( | ) |
Build UPC MYTHREAD (integer expression)
Definition at line 4936 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgUpcMythread * SageBuilder::buildUpcMythread_nfi | ( | ) |
Build UPC MYTHREAD (integer expression)
Definition at line 4945 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
Build this pointer.
Definition at line 4953 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
The 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().
SgSuperExp * SageBuilder::buildSuperExp | ( | SgClassSymbol * | sym | ) |
Build super pointer.
Definition at line 4969 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
SgClassExp * SageBuilder::buildClassExp | ( | SgClassSymbol * | sym | ) |
Build class pointer.
Definition at line 4985 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
SgLambdaRefExp * SageBuilder::buildLambdaRefExp | ( | SgType * | return_type, |
SgFunctionParameterList * | params, | ||
SgScopeStatement * | scope | ||
) |
Build lambda expression.
Definition at line 9539 of file sageBuilder.C.
References buildDefiningFunctionDeclaration(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
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().
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.
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.
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.
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().
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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().
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.
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().
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.
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.
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.
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().
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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.
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().
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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().
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
SgConditionalExp * SageBuilder::buildConditionalExp | ( | SgExpression * | test = NULL , |
SgExpression * | a = NULL , |
||
SgExpression * | b = NULL |
||
) |
Build a conditional expression ?:
Definition at line 5393 of file sageBuilder.C.
References SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by SageInterface::loopCollapsing(), SageInterface::loopTiling(), and SageInterface::loopUnrolling().
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().
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 |
||
) |
Build a SgExprListExp, used for function call parameter list etc.
Definition at line 5774 of file sageBuilder.C.
References SageInterface::appendExpression(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildEquivalenceStatement(), buildFunctionCallExp(), buildFunctionCallExp(), and SageInterface::loopCollapsing().
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().
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().
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().
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().
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 |
||
) |
Build a SgTupleExp.
Definition at line 5002 of file sageBuilder.C.
References SageInterface::appendExpression(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildTupleExp().
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().
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().
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().
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 |
||
) |
Build a SgListExp.
Definition at line 5047 of file sageBuilder.C.
References SageInterface::appendExpression(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildListExp().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
SgVarRefExp * SageBuilder::buildVarRefExp | ( | SgVariableSymbol * | varSymbol | ) |
Build a variable reference from an existing symbol.
Definition at line 5965 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
SgFunctionRefExp * SageBuilder::buildFunctionRefExp | ( | const SgFunctionDeclaration * | func_decl | ) |
Build SgFunctionRefExp based on a function's declaration.
Definition at line 6166 of file sageBuilder.C.
References buildFunctionRefExp(), SgDeclarationStatement::get_definingDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), and SgDeclarationStatement::get_symbol_from_symbol_table().
SgFunctionRefExp * SageBuilder::buildFunctionRefExp | ( | SgFunctionSymbol * | sym | ) |
Build SgFunctionRefExp based on a function's symbol.
Definition at line 6195 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
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().
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().
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().
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().
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().
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().
SgFunctionCallExp * SageBuilder::buildFunctionCallExp | ( | SgFunctionSymbol * | sym, |
SgExprListExp * | parameters = NULL |
||
) |
Build a function call expression.
Definition at line 6402 of file sageBuilder.C.
References buildExprListExp(), buildFunctionRefExp(), buildMemberFunctionRefExp(), SgFunctionRefExp::get_type(), SgMemberFunctionRefExp::get_type(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildFunctionCallStmt(), buildFunctionCallStmt(), buildMemberFunctionCall(), and buildMemberFunctionCall().
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().
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().
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().
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().
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().
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.
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().
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().
SgAssignInitializer * SageBuilder::buildAssignInitializer | ( | SgExpression * | operand_i = NULL , |
SgType * | expression_type = NULL |
||
) |
Build the rhs of a variable declaration which includes an assignment.
Definition at line 5447 of file sageBuilder.C.
References SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by SageInterface::createTempVariableAndReferenceForExpression(), SageInterface::createTempVariableForExpression(), SageInterface::loopCollapsing(), SageInterface::loopUnrolling(), SageInterface::mergeAssignmentWithDeclaration(), SageInterface::mergeDeclarationWithAssignment(), SageInterface::moveVariableDeclaration(), SageInterface::replaceExpressionWithStatement(), and SageInterface::splitExpression().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
SgSizeOfOp * SageBuilder::buildSizeOfOp | ( | SgType * | type = NULL | ) |
Build sizeof() expression with a type parameter.
Definition at line 5666 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgSizeOfOp * SageBuilder::buildSizeOfOp_nfi | ( | SgType * | type | ) |
Build sizeof() expression with a type parameter.
Definition at line 5676 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
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().
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().
SgAlignOfOp * SageBuilder::buildAlignOfOp | ( | SgType * | type = NULL | ) |
Build alignof() expression with a type parameter.
Definition at line 5756 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgAlignOfOp * SageBuilder::buildAlignOfOp_nfi | ( | SgType * | type | ) |
Build alignof() expression with a type parameter.
Definition at line 5765 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
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().
SgMatrixExp * SageBuilder::buildMatrixExp | ( | SgExprListExp * | firstRow | ) |
Build a Matlab Matrix.
Definition at line 9505 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgMagicColonExp * SageBuilder::buildMagicColonExp | ( | ) |
Build a Matlab colon expression :
Definition at line 9516 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
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().
SgRangeExp * SageBuilder::buildRangeExp | ( | SgExpression * | start, |
SgExpression * | end, | ||
SgExpression * | stride | ||
) |
Definition at line 9487 of file sageBuilder.C.
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().
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().
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().
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().
SgFunctionParameterTypeList * SageBuilder::buildFunctionParameterTypeList | ( | SgFunctionParameterList * | paralist | ) |
Build SgFunctionParameterTypeList from SgFunctionParameterList.
Definition at line 2285 of file sageBuilder.C.
References SgFunctionParameterList::get_args(), SgFunctionParameterTypeList::get_arguments(), and SageInterface::setSourcePositionAtRootAndAllChildren().
Referenced by buildDefiningMemberFunctionDeclaration(), buildFunctionCallExp(), buildFunctionType(), and SageInterface::findJavaMain().
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().
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().
SgVariableDeclaration * SageBuilder::buildVariableDeclaration | ( | const SgName & | name, |
SgType * | type, | ||
SgInitializer * | varInit = NULL , |
||
SgScopeStatement * | scope = NULL |
||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 1310 of file sageBuilder.C.
References SageInterface::fixVariableDeclaration(), SgLocatedNode::get_endOfConstruct(), SgNode::get_parent(), SgLocatedNode::get_startOfConstruct(), SgVariableDeclaration::get_variables(), SageInterface::getEnclosingProcedure(), SageInterface::is_Fortran_language(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgVariableDefinition::set_vardefn(), SageInterface::setOneSourcePositionForTransformation(), SageInterface::setSourcePositionAtRootAndAllChildren(), and topScopeStack().
Referenced by buildOpaqueVarRefExp(), buildVariableDeclaration(), buildVariableDeclaration(), SageInterface::createTempVariableAndReferenceForExpression(), SageInterface::createTempVariableForExpression(), SageInterface::insertAfterUsingCommaOp(), SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::loopUnrolling(), SageInterface::normalizeForLoopInitDeclaration(), SageInterface::replaceExpressionWithStatement(), and SageInterface::splitExpression().
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().
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().
SgVariableDeclaration * SageBuilder::buildVariableDeclaration_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.
Definition at line 1417 of file sageBuilder.C.
References buildInitializedName_nfi(), SgNode::class_name(), SgScopeStatement::class_name(), SageInterface::fixVariableDeclaration(), SgNode::get_parent(), SageInterface::getFirstInitializedName(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SageInterface::setOneSourcePositionNull(), SageInterface::setSourcePosition(), and topScopeStack().
SgVariableDefinition * SageBuilder::buildVariableDefinition_nfi | ( | SgVariableDeclaration * | decl, |
SgInitializedName * | init_name, | ||
SgInitializer * | init | ||
) |
Build variable definition.
Definition at line 1716 of file sageBuilder.C.
References SgLocatedNode::get_endOfConstruct(), SgLocatedNode::get_file_info(), SgLocatedNode::set_endOfConstruct(), and SgNode::set_parent().
SgTemplateVariableDeclaration * SageBuilder::buildTemplateVariableDeclaration_nfi | ( | const SgName & | name, |
SgType * | type, | ||
SgInitializer * | varInit, | ||
SgScopeStatement * | scope | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 1774 of file sageBuilder.C.
References SageInterface::fixVariableDeclaration(), SageInterface::getFirstInitializedName(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SageInterface::setOneSourcePositionNull(), and SageInterface::setSourcePosition().
Referenced by 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().
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().
SgTypedefDeclaration * SageBuilder::buildTypedefDeclaration_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;.
Definition at line 1838 of file sageBuilder.C.
References SgDeclarationStatement::class_name(), SgTypedefType::createType(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgScopeStatement::insert_symbol(), SageInterface::is_Ada_language(), SgDeclarationStatement::search_for_symbol_from_symbol_table(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgTypedefDeclaration::set_scope(), SageInterface::setOneSourcePositionNull(), SgType::stripType(), and topScopeStack().
Referenced by buildTypedefDeclaration().
SgTemplateTypedefDeclaration * SageBuilder::buildTemplateTypedefDeclaration_nfi | ( | const SgName & | name, |
SgType * | base_type, | ||
SgScopeStatement * | scope = NULL , |
||
bool | has_defining_base = false |
||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 1952 of file sageBuilder.C.
References SgScopeStatement::class_name(), SgTypedefType::createType(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::search_for_symbol_from_symbol_table(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgTypedefDeclaration::set_scope(), SageInterface::setOneSourcePositionNull(), and topScopeStack().
ROSE_DLL_API SgTemplateInstantiationTypedefDeclaration * SageBuilder::buildTemplateInstantiationTypedefDeclaration_nfi | ( | SgName & | name, |
SgType * | base_type, | ||
SgScopeStatement * | scope, | ||
bool | has_defining_base, | ||
SgTemplateTypedefDeclaration * | templateTypedefDeclaration, | ||
SgTemplateArgumentPtrList & | templateArgumentsList | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 2080 of file sageBuilder.C.
References appendTemplateArgumentsToName(), SgType::class_name(), SgScopeStatement::class_name(), SgTemplateInstantiationTypedefDeclaration::class_name(), SgTypedefType::createType(), SgDeclarationStatement::get_definingDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgTypedefDeclaration::get_scope(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::search_for_symbol_from_symbol_table(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgTypedefDeclaration::set_scope(), SageInterface::setOneSourcePositionNull(), and setTemplateArgumentsInDeclaration().
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 |
||
) |
Build an empty SgFunctionParameterList, possibly with some initialized names filled in.
Definition at line 2233 of file sageBuilder.C.
References SageInterface::appendArg(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildDefaultConstructor(), buildFunctionParameterList(), buildFunctionParameterList_nfi(), SageInterface::buildFunctionPrototype(), buildFunctionRefExp(), and buildFunctionRefExp().
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().
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().
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().
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().
void SageBuilder::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).
Definition at line 4044 of file sageBuilder.C.
References SgTemplateInstantiationMemberFunctionDecl::get_templateName(), SgTemplateInstantiationFunctionDecl::get_templateName(), SageInterface::hasTemplateSyntax(), SgTemplateInstantiationMemberFunctionDecl::set_templateName(), and SgTemplateInstantiationFunctionDecl::set_templateName().
Referenced by buildDefiningFunctionDeclaration_T().
void SageBuilder::setTemplateArgumentParents | ( | SgDeclarationStatement * | decl | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 1015 of file sageBuilder.C.
References SgNode::class_name(), SgDeclarationStatement::class_name(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), getTemplateArgumentList(), SgNode::set_parent(), and testTemplateArgumentParents().
Referenced by buildClassDeclaration_nfi(), buildNondefiningClassDeclaration_nfi(), setTemplateArgumentsInDeclaration(), and setTemplateSpecializationArgumentsInDeclaration().
void SageBuilder::testTemplateArgumentParents | ( | SgDeclarationStatement * | decl | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 1113 of file sageBuilder.C.
References SgDeclarationStatement::class_name(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), and getTemplateArgumentList().
Referenced by buildClassDeclaration_nfi(), buildNondefiningTemplateClassDeclaration_nfi(), buildTemplateClassDeclaration_nfi(), setTemplateArgumentParents(), setTemplateArgumentsInDeclaration(), and setTemplateSpecializationArgumentsInDeclaration().
SgTemplateArgumentPtrList * SageBuilder::getTemplateArgumentList | ( | SgDeclarationStatement * | decl | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 787 of file sageBuilder.C.
References SgDeclarationStatement::class_name(), SgTemplateInstantiationDecl::get_templateArguments(), SgTemplateInstantiationMemberFunctionDecl::get_templateArguments(), SgTemplateInstantiationFunctionDecl::get_templateArguments(), and SgDeclarationStatement::variantT().
Referenced by setTemplateArgumentParents(), setTemplateArgumentsInDeclaration(), setTemplateSpecializationArgumentsInDeclaration(), and testTemplateArgumentParents().
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().
void SageBuilder::setTemplateParameterParents | ( | SgDeclarationStatement * | decl | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 1073 of file sageBuilder.C.
References SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), getTemplateParameterList(), SgNode::set_parent(), and testTemplateParameterParents().
Referenced by setTemplateParametersInDeclaration().
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().
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().
void SageBuilder::setTemplateSpecializationArgumentsInDeclaration | ( | SgDeclarationStatement * | decl, |
SgTemplateArgumentPtrList * | templateSpecializationArgumentsList_input | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 1214 of file sageBuilder.C.
References getTemplateArgumentList(), setTemplateArgumentParents(), testTemplateArgumentParents(), and SgDeclarationStatement::variantT().
Referenced by buildNondefiningTemplateClassDeclaration_nfi(), and buildTemplateClassDeclaration_nfi().
void SageBuilder::setTemplateParametersInDeclaration | ( | SgDeclarationStatement * | decl, |
SgTemplateParameterPtrList * | templateParametersList_input | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 1237 of file sageBuilder.C.
References getTemplateParameterList(), setTemplateParameterParents(), testTemplateParameterParents(), and SgDeclarationStatement::variantT().
Referenced by buildDefiningFunctionDeclaration_T(), buildNondefiningTemplateClassDeclaration_nfi(), and buildTemplateClassDeclaration_nfi().
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 |
||
) |
Build a prototype for a function, handle function type, symbol etc transparently.
Definition at line 3423 of file sageBuilder.C.
References SgFile::e_Fortran_language, SageInterface::getEnclosingFileNode(), and SageInterface::is_Fortran_language().
Referenced by buildDefiningFunctionDeclaration(), SageInterface::buildFunctionPrototype(), buildFunctionRefExp(), and buildNondefiningFunctionDeclaration().
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().
SgTemplateFunctionDeclaration * SageBuilder::buildNondefiningTemplateFunctionDeclaration | ( | 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.
Definition at line 3489 of file sageBuilder.C.
References SgStorageModifier::e_default, SgDeclarationStatement::get_firstNondefiningDeclaration(), SgDeclarationStatement::get_symbol_from_symbol_table(), and SgFunctionDeclaration::get_symbol_from_symbol_table().
Referenced by SageInterface::buildFunctionPrototype().
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().
SgMemberFunctionDeclaration * SageBuilder::buildDefaultConstructor | ( | SgClassType * | classType | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 111 of file sageBuilder.C.
References buildDefiningMemberFunctionDeclaration(), buildFunctionParameterList(), buildNondefiningMemberFunctionDeclaration(), buildVoidType(), SgDeclarationStatement::get_definingDeclaration(), and SgDeclarationStatement::get_firstNondefiningDeclaration().
Referenced by SageInterface::addDefaultConstructorIfRequired().
SgMemberFunctionDeclaration * SageBuilder::buildNondefiningMemberFunctionDeclaration | ( | const SgName & | name, |
SgType * | return_type, | ||
SgFunctionParameterList * | parlist, | ||
SgScopeStatement * | scope, | ||
SgExprListExp * | decoratorList, | ||
unsigned int | functionConstVolatileFlags, | ||
bool | buildTemplateInstantiation, | ||
SgTemplateArgumentPtrList * | templateArgumentsList | ||
) |
Build a prototype member function declaration.
Definition at line 3547 of file sageBuilder.C.
References SgStorageModifier::e_default, SgMemberFunctionDeclaration::get_CtorInitializerList(), SgClassDefinition::get_declaration(), SgMemberFunctionDeclaration::set_associatedClassDeclaration(), SgDeclarationStatement::set_definingDeclaration(), and SgDeclarationStatement::set_firstNondefiningDeclaration().
Referenced by buildDefaultConstructor(), buildDefiningMemberFunctionDeclaration(), SageInterface::buildFunctionPrototype(), and buildNondefiningMemberFunctionDeclaration().
SgTemplateMemberFunctionDeclaration * SageBuilder::buildNondefiningTemplateMemberFunctionDeclaration | ( | const SgName & | name, |
SgType * | return_type, | ||
SgFunctionParameterList * | parlist, | ||
SgScopeStatement * | scope, | ||
SgExprListExp * | decoratorList, | ||
unsigned int | functionConstVolatileFlags, | ||
SgTemplateParameterPtrList * | templateParameterList | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 3601 of file sageBuilder.C.
References SgFunctionType::class_name(), SgScopeStatement::class_name(), SgTemplateMemberFunctionDeclaration::class_name(), SgStorageModifier::e_default, e_sourcePositionTransformation, SgMemberFunctionDeclaration::get_CtorInitializerList(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgDeclarationStatement::get_symbol_from_symbol_table(), SgMemberFunctionDeclaration::get_symbol_from_symbol_table(), SgScopeStatement::get_symbol_table(), SgSymbolTable::print(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), and SourcePositionClassificationMode.
Referenced by SageInterface::buildFunctionPrototype().
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().
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 | ||
) |
Build a defining ( non-prototype) member function declaration.
Definition at line 3675 of file sageBuilder.C.
References appendTemplateArgumentsToName(), SgMemberFunctionType::class_name(), SgTemplateInstantiationMemberFunctionDecl::class_name(), SgMemberFunctionDeclaration::get_CtorInitializerList(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgDeclarationStatement::set_definingDeclaration(), and SgDeclarationStatement::set_firstNondefiningDeclaration().
Referenced by buildDefaultConstructor(), and buildDefiningMemberFunctionDeclaration().
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().
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().
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().
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().
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().
SgProcedureHeaderStatement * SageBuilder::buildProcedureHeaderStatement | ( | const char * | name, |
SgType * | return_type, | ||
SgFunctionParameterList * | parlist, | ||
SgProcedureHeaderStatement::subprogram_kind_enum | kind, | ||
SgScopeStatement * | scope, | ||
SgProcedureHeaderStatement * | first_nondefining_declaration | ||
) |
Build a Fortran subroutine or procedure.
Definition at line 4230 of file sageBuilder.C.
References buildVoidType(), SgProcedureHeaderStatement::e_block_data_subprogram_kind, SgProcedureHeaderStatement::e_function_subprogram_kind, SgProcedureHeaderStatement::e_subroutine_subprogram_kind, and Rose::Diagnostics::mlog.
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().
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().
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().
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().
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().
SgGotoStatement * SageBuilder::buildGotoStatement | ( | SgLabelStatement * | label = NULL | ) |
Build a goto statement.
Definition at line 7787 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
Referenced by buildGotoStatement(), SageInterface::changeBreakStatementsToGotos(), and SageInterface::changeContinuesToGotos().
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().
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().
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().
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().
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().
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().
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().
SgExprStatement * SageBuilder::buildExprStatement | ( | SgExpression * | exp = NULL | ) |
Build a SgExprStatement, set File_Info automatically.
Definition at line 6333 of file sageBuilder.C.
References SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildDoWhileStmt(), buildFunctionCallStmt(), buildFunctionCallStmt(), buildIfStmt(), buildSwitchStatement(), buildWhileStmt(), SageInterface::convertForToWhile(), SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::moveForStatementIncrementIntoBody(), and SageInterface::replaceExpressionWithStatement().
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().
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().
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().
SgSwitchStatement * SageBuilder::buildSwitchStatement | ( | SgStatement * | item_selector = NULL , |
SgStatement * | body = NULL |
||
) |
Build a switch statement.
Definition at line 7931 of file sageBuilder.C.
References SageInterface::is_language_case_insensitive(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildSwitchStatement().
|
inline |
Build a variable declaration, handle symbol table transparently.
Definition at line 1232 of file sageBuilder.h.
References buildExprStatement(), and buildSwitchStatement().
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.
SgIfStmt * SageBuilder::buildIfStmt | ( | SgStatement * | conditional, |
SgStatement * | true_body, | ||
SgStatement * | false_body | ||
) |
Build if statement.
Definition at line 6724 of file sageBuilder.C.
References SageInterface::is_Fortran_language(), SageInterface::is_language_case_insensitive(), SgIfStmt::set_has_end_statement(), SgNode::set_parent(), SgIfStmt::set_use_then_keyword(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildIfStmt().
|
inline |
Build a variable declaration, handle symbol table transparently.
Definition at line 1239 of file sageBuilder.h.
References buildExprStatement(), and buildIfStmt().
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().
SgFortranDo * SageBuilder::buildFortranDo | ( | SgExpression * | initialization, |
SgExpression * | bound, | ||
SgExpression * | increment, | ||
SgBasicBlock * | loopBody | ||
) |
Build a Fortran do construct.
Definition at line 6769 of file sageBuilder.C.
References buildBasicBlock(), buildNullExpression(), SageInterface::is_language_case_insensitive(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
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().
SgForInitStatement * SageBuilder::buildForInitStatement | ( | ) |
Build a for init statement.
Definition at line 6818 of file sageBuilder.C.
References SageInterface::setSourcePosition().
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().
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().
SgForInitStatement * SageBuilder::buildForInitStatement | ( | SgStatement * | statement | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 6831 of file sageBuilder.C.
References SageInterface::setSourcePosition().
SgForStatement * SageBuilder::buildForStatement | ( | 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.
Based on the contribution from Pradeep Srinivasa@ LANL.
Definition at line 6877 of file sageBuilder.C.
References SageInterface::fixVariableDeclaration(), SageInterface::fixVariableReferences(), SgForStatement::get_for_init_stmt(), SageInterface::is_language_case_insensitive(), SgForStatement::set_for_init_stmt(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by SageInterface::loopCollapsing(), and SageInterface::loopTiling().
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().
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().
void SageBuilder::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.
Definition at line 6995 of file sageBuilder.C.
References SgForStatement::get_for_init_stmt(), SgForStatement::get_loop_body(), SageInterface::is_language_case_insensitive(), SgForStatement::set_for_init_stmt(), SgForStatement::set_loop_body(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().
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().
void SageBuilder::buildDoWhileStatement_nfi | ( | SgDoWhileStmt * | result, |
SgStatement * | body, | ||
SgStatement * | condition | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 7096 of file sageBuilder.C.
References SgDoWhileStmt::get_body(), SgDoWhileStmt::get_condition(), SgNode::get_parent(), SgDoWhileStmt::set_body(), SgDoWhileStmt::set_condition(), SgNode::set_parent(), and SageInterface::setOneSourcePositionNull().
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().
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().
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().
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().
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().
SgUpcFenceStatement * SageBuilder::buildUpcFenceStatement_nfi | ( | ) |
Build a UPC fence statement.
Definition at line 7215 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
SgWhileStmt * SageBuilder::buildWhileStmt | ( | SgStatement * | condition, |
SgStatement * | body, | ||
SgStatement * | else_body = NULL |
||
) |
Build while statement.
Definition at line 7227 of file sageBuilder.C.
References SageInterface::is_language_case_insensitive(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildWhileStmt(), and SageInterface::convertForToWhile().
|
inline |
Build a variable declaration, handle symbol table transparently.
Definition at line 1296 of file sageBuilder.h.
References buildExprStatement(), and buildWhileStmt().
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.
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().
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().
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().
|
inline |
Build a variable declaration, handle symbol table transparently.
Definition at line 1307 of file sageBuilder.h.
References buildDoWhileStmt(), and buildExprStatement().
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().
SgPragmaDeclaration * SageBuilder::buildPragmaDeclaration | ( | const std::string & | name, |
SgScopeStatement * | scope = NULL |
||
) |
Build pragma declaration, handle SgPragma and defining/nondefining pointers internally.
Definition at line 7648 of file sageBuilder.C.
References SgNode::get_parent(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().
SgPragma * SageBuilder::buildPragma | ( | const std::string & | name | ) |
Build SgPragma.
Definition at line 7678 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
Referenced by SageInterface::replaceMacroCallsWithExpandedStrings().
SgEmptyDeclaration * SageBuilder::buildEmptyDeclaration | ( | ) |
Build an empty declaration (useful for adding precission to comments and CPP handling under token-based unparsing).
Definition at line 7687 of file sageBuilder.C.
References SgNode::get_parent(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().
Referenced by SageInterface::buildFunctionPrototype(), SageInterface::insertHeader(), and SageInterface::insertHeader().
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 |
||
) |
Build a SgBasicBlock, setting file info internally.
Definition at line 7711 of file sageBuilder.C.
References SageInterface::appendStatement(), SageInterface::is_language_case_insensitive(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by SageInterface::addStepToLoopBody(), buildFortranDo(), SageInterface::changeBreakStatementsToGotos(), SageInterface::convertForToWhile(), SageInterface::ensureBasicBlockAsBodyOfCaseOption(), SageInterface::ensureBasicBlockAsBodyOfCatch(), SageInterface::ensureBasicBlockAsBodyOfDefaultOption(), SageInterface::ensureBasicBlockAsBodyOfDoWhile(), SageInterface::ensureBasicBlockAsBodyOfFor(), SageInterface::ensureBasicBlockAsBodyOfOmpBodyStmt(), SageInterface::ensureBasicBlockAsBodyOfSwitch(), SageInterface::ensureBasicBlockAsBodyOfWhile(), SageInterface::ensureBasicBlockAsFalseBodyOfIf(), SageInterface::ensureBasicBlockAsTrueBodyOfIf(), SageInterface::insertStatement(), SageInterface::loopTiling(), SageInterface::replaceExpressionWithStatement(), SageInterface::replaceStatement(), and SageInterface::splitExpressionIntoBasicBlock().
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().
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().
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().
SgExprStatement * SageBuilder::buildAssignStatement | ( | SgExpression * | lhs, |
SgExpression * | rhs | ||
) |
Build an assignment statement from lefthand operand and right hand operand.
Definition at line 6626 of file sageBuilder.C.
References SgExpression::set_lvalue(), SgNode::set_parent(), SageInterface::setOneSourcePositionForTransformation(), and SageInterface::setSourcePositionAtRootAndAllChildren().
Referenced by SageInterface::loopCollapsing(), SageInterface::loopTiling(), SageInterface::normalizeForLoopInitDeclaration(), SageInterface::replaceExpressionWithStatement(), SageInterface::splitExpressionIntoBasicBlock(), and SageInterface::splitVariableDeclaration().
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().
SgBreakStmt * SageBuilder::buildBreakStmt | ( | ) |
Build a break statement.
Definition at line 7340 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgBreakStmt * SageBuilder::buildBreakStmt_nfi | ( | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 7348 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
SgContinueStmt * SageBuilder::buildContinueStmt | ( | ) |
Build a continue statement.
Definition at line 7356 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgContinueStmt * SageBuilder::buildContinueStmt_nfi | ( | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 7364 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
SgFortranContinueStmt * SageBuilder::buildFortranContinueStmt | ( | ) |
Build a Fortran continue statement.
Definition at line 7372 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgFortranContinueStmt * SageBuilder::buildFortranContinueStmt_nfi | ( | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 7380 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
SgPassStatement * SageBuilder::buildPassStatement | ( | ) |
Build a pass statement.
Definition at line 7388 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgPassStatement * SageBuilder::buildPassStatement_nfi | ( | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 7396 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
SgAssertStmt * SageBuilder::buildAssertStmt | ( | SgExpression * | test | ) |
Build a Assert statement.
Definition at line 7420 of file sageBuilder.C.
References SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
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().
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().
SgYieldExpression * SageBuilder::buildYieldExpression | ( | SgExpression * | value | ) |
Build a yield statement.
Definition at line 7469 of file sageBuilder.C.
References SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
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().
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().
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().
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().
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().
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().
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().
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().
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().
SgDeclarationScope * SageBuilder::buildDeclarationScope | ( | ) |
Build a scope statement. Used to build SgNonrealDecl and SgNonrealType.
Definition at line 9805 of file sageBuilder.C.
References SgLocatedNode::get_endOfConstruct(), SgLocatedNode::get_startOfConstruct(), Sg_File_Info::setCompilerGenerated(), and SageInterface::setSourcePosition().
SgClassDefinition * SageBuilder::buildClassDefinition | ( | SgClassDeclaration * | d = NULL , |
bool | buildTemplateInstantiation = false |
||
) |
Build a class definition scope statement.
Definition at line 9815 of file sageBuilder.C.
References SageInterface::is_language_case_insensitive(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildClassDeclaration_nfi(), buildDefiningClassDeclaration(), and buildStructDeclaration().
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().
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().
SgClassDeclaration * SageBuilder::buildNondefiningClassDeclaration_nfi | ( | const SgName & | name, |
SgClassDeclaration::class_types | kind, | ||
SgScopeStatement * | scope, | ||
bool | buildTemplateInstantiation, | ||
SgTemplateArgumentPtrList * | templateArgumentsList | ||
) |
Build a structure first nondefining declaration, without file info.
Definition at line 9877 of file sageBuilder.C.
References appendTemplateArgumentsToName(), SgClassType::class_name(), SgScopeStatement::class_name(), SgClassDeclaration::class_name(), SgClassSymbol::class_name(), SgClassType::createType(), display(), SgDeclarationStatement::get_definingDeclaration(), SgLocatedNode::get_file_info(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgClassDeclaration::get_scope(), SgClassDeclaration::get_symbol_from_symbol_table(), SgTemplateInstantiationDecl::get_templateArguments(), SgTemplateInstantiationDecl::get_templateName(), SageInterface::hasTemplateSyntax(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgClassDeclaration::set_scope(), SgTemplateInstantiationDecl::set_templateName(), SgDeclarationStatement::setForward(), SageInterface::setOneSourcePositionNull(), SageInterface::setSourcePosition(), setTemplateArgumentParents(), setTemplateArgumentsInDeclaration(), topScopeStack(), unparseTemplateArgumentToString(), SgNode::unparseToString(), and SgClassDeclaration::variantT().
SgTemplateClassDeclaration * SageBuilder::buildNondefiningTemplateClassDeclaration_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.
Definition at line 12649 of file sageBuilder.C.
References appendTemplateArgumentsToName(), SgClassType::class_name(), SgScopeStatement::class_name(), SgTemplateClassDeclaration::class_name(), SgClassType::createType(), SgDeclarationStatement::get_definingDeclaration(), SgLocatedNode::get_endOfConstruct(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgClassDeclaration::get_scope(), SgLocatedNode::get_startOfConstruct(), SgClassDeclaration::get_symbol_from_symbol_table(), SgClassSymbol::get_type(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgClassDeclaration::set_scope(), Sg_File_Info::setCompilerGenerated(), SgDeclarationStatement::setForward(), SageInterface::setOneSourcePositionForTransformation(), SageInterface::setSourcePosition(), setTemplateParametersInDeclaration(), setTemplateSpecializationArgumentsInDeclaration(), testTemplateArgumentParents(), and topScopeStack().
Referenced by buildNondefiningTemplateClassDeclaration().
SgTemplateClassDeclaration * SageBuilder::buildNondefiningTemplateClassDeclaration | ( | const SgName & | name, |
SgClassDeclaration::class_types | kind, | ||
SgScopeStatement * | scope, | ||
SgTemplateParameterPtrList * | templateParameterList, | ||
SgTemplateArgumentPtrList * | templateSpecializationArgumentList | ||
) |
buildNondefiningTemplateClassDeclaration()
Definition at line 12640 of file sageBuilder.C.
References buildNondefiningTemplateClassDeclaration_nfi(), and SageInterface::setSourcePositionForTransformation().
SgClassDeclaration * SageBuilder::buildNondefiningClassDeclaration | ( | SgName | name, |
SgScopeStatement * | scope | ||
) |
DQ (11/7/2009): Added functions to build C++ class.
Definition at line 11229 of file sageBuilder.C.
References SgClassType::class_name(), SgScopeStatement::class_name(), SgClassDeclaration::class_name(), SgClassType::createType(), SgClassDeclaration::e_class, SgDeclarationStatement::get_definingDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgClassDeclaration::get_scope(), SageInterface::hasTemplateSyntax(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgClassDeclaration::set_scope(), SgDeclarationStatement::setForward(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by buildDefiningClassDeclaration().
SgClassDeclaration * SageBuilder::buildDefiningClassDeclaration | ( | SgName | name, |
SgScopeStatement * | scope | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 11356 of file sageBuilder.C.
References buildClassDefinition(), buildNondefiningClassDeclaration(), SgScopeStatement::class_name(), SgClassDeclaration::e_class, SgDeclarationStatement::get_definingDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgClassDeclaration::get_scope(), SageInterface::hasTemplateSyntax(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgClassDeclaration::set_scope(), and SageInterface::setOneSourcePositionForTransformation().
Referenced by 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().
SgEnumDeclaration * SageBuilder::buildNondefiningEnumDeclaration_nfi | ( | const SgName & | name, |
SgScopeStatement * | scope | ||
) |
Build an enum first nondefining declaration, without file info.
Definition at line 13435 of file sageBuilder.C.
References SgDeclarationStatement::get_definingDeclaration(), SgEnumDeclaration::get_type(), SgEnumSymbol::get_type(), SageInterface::hasTemplateSyntax(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgEnumDeclaration::set_scope(), SgDeclarationStatement::setForward(), and SageInterface::setOneSourcePositionNull().
Referenced by buildEnumDeclaration_nfi().
SgClassDeclaration * SageBuilder::buildStructDeclaration | ( | const SgName & | name, |
SgScopeStatement * | scope = NULL |
||
) |
Build a structure, It is also a declaration statement in SAGE III.
Definition at line 10400 of file sageBuilder.C.
References buildClassDeclaration_nfi(), buildClassDefinition(), SgClassDeclaration::e_struct, SageInterface::fixStructDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgDeclarationStatement::setForward(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().
Referenced by buildStructDeclaration(), and buildStructDeclaration().
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().
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().
SgStmtDeclarationStatement * SageBuilder::buildStmtDeclarationStatement | ( | SgStatement * | stmt | ) |
Build a StmtDeclarationStmt.
Definition at line 10340 of file sageBuilder.C.
References SgDeclarationStatement::set_definingDeclaration(), SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
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().
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().
SgNamespaceDeclarationStatement * SageBuilder::buildNamespaceDeclaration_nfi | ( | const SgName & | name, |
bool | unnamednamespace, | ||
SgScopeStatement * | scope | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 10874 of file sageBuilder.C.
References buildNamespaceDefinition(), SgScopeStatement::class_name(), SageInterface::fixNamespaceDeclaration(), SgNamespaceSymbol::get_declaration(), SgDeclarationStatement::get_definingDeclaration(), SgNamespaceDeclarationStatement::get_definition(), SgLocatedNode::get_file_info(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNamespaceDeclarationStatement::get_name(), SageInterface::get_name(), SgNode::get_parent(), SgScopeStatement::insert_symbol(), Sg_File_Info::isOutputInCodeGeneration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgDeclarationStatement::setForward(), SageInterface::setOneSourcePositionNull(), and topScopeStack().
Referenced by buildNamespaceDeclaration().
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().
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().
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().
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().
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().
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().
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().
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().
SgClassDeclaration * SageBuilder::buildClassDeclaration_nfi | ( | const SgName & | name, |
SgClassDeclaration::class_types | kind, | ||
SgScopeStatement * | scope, | ||
SgClassDeclaration * | nonDefiningDecl, | ||
bool | buildTemplateInstantiation, | ||
SgTemplateArgumentPtrList * | templateArgumentsList | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 11441 of file sageBuilder.C.
References appendTemplateArgumentsToName(), buildClassDefinition(), SgNode::class_name(), SgClassType::class_name(), SgScopeStatement::class_name(), SgDeclarationStatement::class_name(), SgClassDeclaration::class_name(), SgClassSymbol::class_name(), SgJavaParameterType::createType(), SgClassType::createType(), display(), SgClassDeclaration::e_java_parameter, e_sourcePositionTransformation, SageInterface::fixStructDeclaration(), SgLocatedNode::get_file_info(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgClassDeclaration::get_scope(), SgClassDeclaration::get_symbol_from_symbol_table(), SgScopeStatement::get_symbol_table(), SgTemplateInstantiationDecl::get_templateArguments(), SgTemplateInstantiationDecl::get_templateDeclaration(), SageInterface::hasTemplateSyntax(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::set_definingDeclaration(), SgTemplateInstantiationDecl::set_templateDeclaration(), SgTemplateInstantiationDecl::set_templateName(), SageInterface::setOneSourcePositionForTransformation(), setTemplateArgumentParents(), setTemplateArgumentsInDeclaration(), SourcePositionClassificationMode, testTemplateArgumentParents(), topScopeStack(), and SgNode::unparseToString().
Referenced by buildStructDeclaration().
SgTemplateClassDeclaration * SageBuilder::buildTemplateClassDeclaration_nfi | ( | const SgName & | name, |
SgClassDeclaration::class_types | kind, | ||
SgScopeStatement * | scope, | ||
SgTemplateClassDeclaration * | nonDefiningDecl, | ||
SgTemplateParameterPtrList * | templateParameterList, | ||
SgTemplateArgumentPtrList * | templateSpecializationArgumentList | ||
) |
Build a variable declaration, handle symbol table transparently.
Definition at line 13015 of file sageBuilder.C.
References appendTemplateArgumentsToName(), buildTemplateClassDefinition(), SgClassType::class_name(), SgScopeStatement::class_name(), SgTemplateClassDeclaration::class_name(), SgClassType::createType(), SgDeclarationStatement::get_definingDeclaration(), SgLocatedNode::get_endOfConstruct(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgClassDeclaration::get_scope(), SgLocatedNode::get_startOfConstruct(), SgClassDeclaration::get_symbol_from_symbol_table(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgClassDeclaration::set_scope(), Sg_File_Info::setCompilerGenerated(), SgDeclarationStatement::setForward(), SageInterface::setOneSourcePositionForTransformation(), SageInterface::setSourcePosition(), setTemplateParametersInDeclaration(), setTemplateSpecializationArgumentsInDeclaration(), testTemplateArgumentParents(), and topScopeStack().
Referenced by 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().
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().
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().
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().
SgModuleStatement * SageBuilder::buildModuleStatement | ( | const SgName & | name, |
SgScopeStatement * | scope | ||
) |
Build a Fortran module declaration.
Definition at line 10468 of file sageBuilder.C.
References SgClassDeclaration::e_fortran_module, SgDeclarationStatement::get_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().
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().
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().
SgEnumDeclaration * SageBuilder::buildEnumDeclaration | ( | const SgName & | name, |
SgScopeStatement * | scope = NULL |
||
) |
Build an enum, It is also a declaration statement in SAGE III.
Definition at line 13415 of file sageBuilder.C.
References buildEnumDeclaration_nfi(), SgDeclarationStatement::get_definingDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SageInterface::setOneSourcePositionForTransformation(), and topScopeStack().
SgEnumDeclaration * SageBuilder::buildEnumDeclaration_nfi | ( | const SgName & | name, |
SgScopeStatement * | scope = NULL |
||
) |
Build an enum, It is also a declaration statement in SAGE III.
Definition at line 13528 of file sageBuilder.C.
References buildNondefiningEnumDeclaration_nfi(), SgScopeStatement::class_name(), SgDeclarationStatement::get_definingDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgNode::get_parent(), SgEnumDeclaration::get_type(), SgEnumSymbol::get_type(), SgScopeStatement::insert_symbol(), SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), SgNode::set_parent(), SgEnumDeclaration::set_scope(), and SageInterface::setOneSourcePositionNull().
Referenced by buildEnumDeclaration().
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().
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().
SgNullStatement * SageBuilder::buildNullStatement | ( | ) |
Build a NULL statement.
Definition at line 7970 of file sageBuilder.C.
References SageInterface::setOneSourcePositionForTransformation().
SgNullStatement * SageBuilder::buildNullStatement_nfi | ( | ) |
Build a NULL statement.
Definition at line 7980 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
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().
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().
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().
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().
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().
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().
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().
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().
SgHereExp * SageBuilder::buildHereExpression | ( | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 8111 of file sageBuilder.C.
SgDotDotExp * SageBuilder::buildDotDotExp | ( | ) |
Build a variable declaration, handle symbol table transparently.
Definition at line 8117 of file sageBuilder.C.
SgTryStmt * SageBuilder::buildTryStmt | ( | SgStatement * | body, |
SgCatchOptionStmt * | catch0 = NULL , |
||
SgCatchOptionStmt * | catch1 = NULL , |
||
SgCatchOptionStmt * | catch2 = NULL , |
||
SgCatchOptionStmt * | catch3 = NULL , |
||
SgCatchOptionStmt * | catch4 = NULL |
||
) |
Build a try statement.
Definition at line 8125 of file sageBuilder.C.
References SgTryStmt::get_catch_statement_seq_root(), SgLocatedNode::get_endOfConstruct(), SgLocatedNode::get_startOfConstruct(), SgNode::set_parent(), and SageInterface::setSourcePosition().
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().
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().
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().
SgJavaThrowStatement * SageBuilder::buildJavaThrowStatement | ( | SgThrowOp * | op | ) |
Build a Java Throw statement.
Definition at line 8227 of file sageBuilder.C.
References SgNode::set_parent().
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.
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().
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().
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().
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().
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().
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().
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().
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().
SgAsmStmt * SageBuilder::buildAsmStatement_nfi | ( | std::string | s | ) |
Build an asm statement.
Definition at line 8323 of file sageBuilder.C.
References SageInterface::setOneSourcePositionNull().
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().
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().
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().
SgStaticAssertionDeclaration * SageBuilder::buildStaticAssertionDeclaration | ( | SgExpression * | condition, |
const SgName & | string_literal | ||
) |
DQ (7/25/2014): Adding support for C11 static assertions.
Definition at line 8374 of file sageBuilder.C.
References SgDeclarationStatement::get_firstNondefiningDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().
SgMicrosoftAttributeDeclaration * SageBuilder::buildMicrosoftAttributeDeclaration | ( | const SgName & | name | ) |
DQ (8/17/2014): Adding support for Microsoft MSVC specific attributes.
Definition at line 8395 of file sageBuilder.C.
References SgDeclarationStatement::get_firstNondefiningDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().
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().
SgUsingDirectiveStatement * SageBuilder::buildUsingDirectiveStatement | ( | SgNamespaceDeclarationStatement * | ns_decl | ) |
Build a using directive statement.
Definition at line 18920 of file sageBuilder.C.
References SgDeclarationStatement::set_definingDeclaration(), SgDeclarationStatement::set_firstNondefiningDeclaration(), and SageInterface::setOneSourcePositionForTransformation().
SgFile * SageBuilder::buildFile | ( | const std::string & | inputFileName, |
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 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 14129 of file sageBuilder.C.
References SgFile::class_name(), SgDeclarationStatement::class_name(), SgNode::clearGlobalMangledNameMap(), SageInterface::collectModifiedLocatedNodes(), fixupSharingSourcePosition(), fixupSourcePositionFileSpecification(), CommandlineProcessing::generateSourceFilenames(), SgGlobal::get_declarations(), SgNode::get_globalMangledNameMap(), SgNode::get_isModified(), SgProject::get_originalCommandLineArgumentList(), SgFile::get_startOfConstruct(), SgScopeStatement::get_symbol_table(), SgFile::getFileName(), SageInterface::outputFileIds(), CommandlineProcessing::removeAllFileNamesExcept(), SageInterface::reportModifiedLocatedNodes(), SageInterface::reportModifiedStatements(), SageInterface::resetModifiedLocatedNodes(), SgProject::set_file(), SgNode::set_isModified(), SgProject::set_originalCommandLineArgumentList(), SgNode::set_parent(), and SgSymbolTable::size().
Referenced by buildSourceFile(), and buildSourceFile().
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().
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().
void SageBuilder::fixupSourcePositionFileSpecification | ( | SgNode * | subtreeRoot, |
const std::string & | newFileName | ||
) |
Change the source file associated with the source position information in the AST.
Definition at line 13755 of file sageBuilder.C.
References SgNode::class_name(), SgLocatedNode::class_name(), SgLocatedNode::get_endOfConstruct(), SgNode::get_endOfConstruct(), Sg_File_Info::get_nametofileid_map(), SgFile::get_startOfConstruct(), SgLocatedNode::get_startOfConstruct(), Sg_File_Info::isShared(), and AstSimpleProcessing::visit().
Referenced by buildFile(), and buildSourceFile().
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().
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().
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.
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().
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().
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().
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().
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().
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().
SgType * SageBuilder::getTargetFileType | ( | 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 16376 of file sageBuilder.C.
References buildConstType(), buildPointerType(), SgType::class_name(), SgNamedType::class_name(), SgDeclarationStatement::class_name(), findAssociatedSymbolInTargetAST(), SgEnumDeclaration::get_name(), SageInterface::get_name(), SgEnumDeclaration::get_type(), SgClassSymbol::get_type(), SgTemplateClassSymbol::get_type(), SgEnumSymbol::get_type(), SgTypedefSymbol::get_type(), SgModifierType::get_typeModifier(), SgType::getInternalTypes(), getTargetFileTypeSupport(), SageInterface::lookupClassSymbolInParentScopes(), SageInterface::lookupEnumSymbolInParentScopes(), SageInterface::lookupTemplateClassSymbolInParentScopes(), SageInterface::lookupTypedefSymbolInParentScopes(), and SgNamedType::variantT().
Referenced by fixupCopyOfNodeFromSeparateFileInNewTargetAst().
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().
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().
void SageBuilder::errorCheckingTargetAST | ( | SgNode * | node_copy, |
SgNode * | node_original, | ||
SgFile * | targetFile, | ||
bool | failOnWarning | ||
) |
Error checking the inserted snippet AST.
Definition at line 16735 of file sageBuilder.C.
References SgNode::class_name(), SgScopeStatement::class_name(), SgDeclarationStatement::get_definingDeclaration(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgStatement::get_scope(), SgExpression::get_type(), SageInterface::getEnclosingFileNode(), SgStatement::hasExplicitScope(), and SgExpression::hasExplicitType().
Referenced by fixupCopyOfNodeFromSeparateFileInNewTargetAst().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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().
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().
T * SageBuilder::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()
The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.
Definition at line 1785 of file sageBuilder.h.
References SgNode::set_parent(), and SageInterface::setOneSourcePositionForTransformation().
T * SageBuilder::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()
The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.
Definition at line 1806 of file sageBuilder.h.
References SgNode::set_parent(), and SageInterface::setSourcePosition().
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.
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 | ||
) |
A template function for function declaration builders.
Definition at line 3740 of file sageBuilder.C.
References appendTemplateArgumentsToName(), SageInterface::collectVarRefs(), SgScopeStatement::containsOnlyDeclarations(), SgFunctionParameterList::get_args(), SgDeclarationStatement::get_firstNondefiningDeclaration(), SgVariableSymbol::get_name(), SgTemplateInstantiationMemberFunctionDecl::get_templateArguments(), SgTemplateInstantiationFunctionDecl::get_templateArguments(), SgScopeStatement::insert_symbol(), SageInterface::is_language_case_insensitive(), SageInterface::language_may_contain_nondeclarations_in_scope(), SgFunctionDefinition::set_body(), SgDeclarationStatement::set_definingDeclaration(), SgNode::set_parent(), SageInterface::setParameterList(), SageInterface::setSourcePositionAtRootAndAllChildren(), setTemplateArgumentsInDeclaration(), setTemplateNameInTemplateInstantiations(), setTemplateParametersInDeclaration(), SageInterface::templateArgumentListEquivalence(), and topScopeStack().
Sawyer::Message::Facility SageBuilder::mlog |
Definition at line 58 of file sageBuilder.C.
|
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().
|
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().