ROSE  0.11.96.11
Functions | Variables
SageBuilder Namespace Reference

Description

Functions that build an AST.

Functions

void initDiagnostics ()
 

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
 Support for construction of case sensitive/insensitive symbol table handling in scopes.
 
SourcePositionClassification SourcePositionClassificationMode
 C++ SageBuilder namespace specific state for storage of the source code position state (used to control how the source code positon is defined for IR nodes built within the SageBuilder interface).
 
ROSE_DLL_API void pushScopeStack (SgScopeStatement *stmt)
 Public interfaces of the scope stack, should be stable.
 
ROSE_DLL_API void popScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time
 
ROSE_DLL_API SgScopeStatementtopScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time
 
ROSE_DLL_API bool emptyScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time
 
ROSE_DLL_API void clearScopeStack ()
 intended to be a private member, don't access it directly. could be changed any time
 
SgScopeStatementgetGlobalScopeFromScopeStack ()
 Support to retrive the SgGlobal from the internal scope stack (error if not present in a non-empty list, return null for empty list).
 
bool inSwitchScope ()
 intended to be a private member, don't access it directly. could be changed any time
 
ROSE_DLL_API SourcePositionClassification getSourcePositionClassificationMode ()
 Get the current source position classification (defines how IR nodes built by the SageBuilder interface will be classified).
 
ROSE_DLL_API std::string display (SourcePositionClassification &scp)
 display function for debugging
 
ROSE_DLL_API void setSourcePositionClassificationMode (SourcePositionClassification X)
 Set the current source position classification (defines how IR nodes built by the SageBuilder interface will be classified).
 
ROSE_DLL_API SgName appendTemplateArgumentsToName (const SgName &name, const SgTemplateArgumentPtrList &templateArgumentsList)
 DQ (7/27/2012): changed semantics from removing the template arguments in names to adding the template arguments to names.
 
SgName unparseTemplateArgumentToString (SgTemplateArgument *templateArgument)
 DQ (3/9/2018): Added to support debugging.
 

Enumeration Type Documentation

◆ SourcePositionClassification

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

Enumerator
e_sourcePositionDefault 

Error value for enum.

e_sourcePositionTransformation 

Default source position.

e_sourcePositionCompilerGenerated 

Classify as a transformation.

e_sourcePositionNullPointers 

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

e_sourcePositionFrontendConstruction 

Set pointers to Sg_File_Info objects to NULL.

e_sourcePosition_last 

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

Last entry in enum.

Definition at line 138 of file sageBuilder.h.

Function Documentation

◆ buildFortranImplicitType()

ROSE_DLL_API SgType* SageBuilder::buildFortranImplicitType ( SgName  name)

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

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

◆ buildArrayType()

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

Build an ArrayType based on dimension information.

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

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

◆ buildMemberFunctionType()

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

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

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

◆ buildClassTemplateType()

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

Some support for building class template instantiation declarations.

Note, the template is not actually instantiated, but a ‘forward declaration’ node is created.

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

◆ buildOpaqueType()

ROSE_DLL_API SgType* SageBuilder::buildOpaqueType ( std::string const  type_name,
SgScopeStatement scope 
)

Build an opaque type with a name, useful when a type's details are unknown during transformation, especially for a runtime library's internal type. Must provide scope here.

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

◆ buildVariantExpression()

ROSE_DLL_API SgVariantExpression* SageBuilder::buildVariantExpression ( )

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

◆ buildBoolValExp()

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

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

◆ buildBoolValExp_nfi()

ROSE_DLL_API SgBoolValExp* SageBuilder::buildBoolValExp_nfi ( int  value)

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

◆ buildCharVal()

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

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

◆ buildCharVal_nfi()

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

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

◆ buildNullptrValExp_nfi()

ROSE_DLL_API SgNullptrValExp* SageBuilder::buildNullptrValExp_nfi ( )

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

◆ buildVoidVal_nfi()

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

◆ buildWcharVal()

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

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

◆ buildWcharVal_nfi()

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

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

◆ buildChar16Val()

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

◆ buildChar16Val_nfi()

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

◆ buildChar32Val()

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

◆ buildChar32Val_nfi()

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

◆ buildComplexVal()

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

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

◆ buildComplexVal_nfi()

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

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

◆ buildImaginaryVal() [1/2]

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

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

◆ buildImaginaryVal() [2/2]

ROSE_DLL_API SgComplexVal* SageBuilder::buildImaginaryVal ( SgValueExp imaginary_value)

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

◆ buildImaginaryVal_nfi()

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

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

◆ buildDoubleVal_nfi()

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

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

◆ buildFloatVal()

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

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

◆ buildFloatVal_nfi() [1/2]

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

◆ buildFloatVal_nfi() [2/2]

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

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

◆ buildIntValHex()

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

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

◆ buildIntVal_nfi() [1/2]

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

◆ buildIntVal_nfi() [2/2]

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

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

◆ buildLongIntValHex()

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

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

◆ buildLongIntVal_nfi()

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

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

◆ buildLongLongIntValHex()

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

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

◆ buildLongLongIntVal_nfi()

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

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

◆ buildEnumVal_nfi()

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

◆ buildEnumVal() [1/2]

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

◆ buildEnumVal() [2/2]

ROSE_DLL_API SgEnumVal* SageBuilder::buildEnumVal ( SgEnumFieldSymbol sym)

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

◆ buildLongDoubleVal()

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

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

◆ buildLongDoubleVal_nfi()

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

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

◆ buildFloat80Val()

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

◆ buildFloat80Val_nfi()

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

◆ buildFloat128Val()

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

◆ buildFloat128Val_nfi()

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

◆ buildShortVal()

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

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

◆ buildShortValHex()

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

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

◆ buildShortVal_nfi()

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

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

◆ buildStringVal()

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

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

◆ buildStringVal_nfi()

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

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

◆ buildUnsignedCharValHex()

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

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

◆ buildUnsignedCharVal_nfi()

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

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

◆ buildUnsignedShortValHex()

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

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

◆ buildUnsignedShortVal_nfi()

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

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

◆ buildUnsignedIntValHex()

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

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

◆ buildUnsignedIntVal_nfi()

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

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

◆ buildUnsignedLongValHex()

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

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

◆ buildUnsignedLongVal_nfi()

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

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

◆ buildUnsignedLongLongIntValHex()

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

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

◆ buildUnsignedLongLongIntVal_nfi()

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

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

◆ buildTemplateParameterVal_nfi()

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

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

◆ buildUpcThreads_nfi()

ROSE_DLL_API SgUpcThreads* SageBuilder::buildUpcThreads_nfi ( )

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

◆ buildUpcMythread_nfi()

ROSE_DLL_API SgUpcMythread* SageBuilder::buildUpcMythread_nfi ( )

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

◆ buildThisExp_nfi()

ROSE_DLL_API SgThisExp* SageBuilder::buildThisExp_nfi ( SgSymbol sym)

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

◆ buildSuperExp_nfi()

ROSE_DLL_API SgSuperExp* SageBuilder::buildSuperExp_nfi ( SgClassSymbol sym)

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

◆ buildClassExp_nfi()

ROSE_DLL_API SgClassExp* SageBuilder::buildClassExp_nfi ( SgClassSymbol sym)

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

◆ buildAddressOfOp()

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

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

◆ buildAddressOfOp_nfi()

ROSE_DLL_API SgAddressOfOp* SageBuilder::buildAddressOfOp_nfi ( SgExpression op)

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

◆ buildBitComplementOp()

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

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

◆ buildBitComplementOp_nfi()

ROSE_DLL_API SgBitComplementOp* SageBuilder::buildBitComplementOp_nfi ( SgExpression op)

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

◆ buildMinusOp()

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.

◆ buildMinusOp_nfi() [1/2]

ROSE_DLL_API SgMinusOp* SageBuilder::buildMinusOp_nfi ( SgExpression op)

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

◆ buildNotOp()

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

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

◆ buildNotOp_nfi()

ROSE_DLL_API SgNotOp* SageBuilder::buildNotOp_nfi ( SgExpression op)

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

◆ buildPointerDerefExp()

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

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

◆ buildPointerDerefExp_nfi()

ROSE_DLL_API SgPointerDerefExp* SageBuilder::buildPointerDerefExp_nfi ( SgExpression op)

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

◆ buildUnaryAddOp()

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

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

◆ buildUnaryAddOp_nfi()

ROSE_DLL_API SgUnaryAddOp* SageBuilder::buildUnaryAddOp_nfi ( SgExpression op)

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

◆ buildMinusMinusOp() [1/2]

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

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

◆ buildMinusMinusOp_nfi() [1/2]

ROSE_DLL_API SgMinusMinusOp* SageBuilder::buildMinusMinusOp_nfi ( SgExpression op)

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

◆ buildPlusPlusOp()

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.

◆ buildPlusPlusOp_nfi() [1/2]

ROSE_DLL_API SgPlusPlusOp* SageBuilder::buildPlusPlusOp_nfi ( SgExpression op)

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

◆ buildRealPartOp()

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

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

◆ buildRealPartOp_nfi()

ROSE_DLL_API SgRealPartOp* SageBuilder::buildRealPartOp_nfi ( SgExpression op)

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

◆ buildImagPartOp()

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

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

◆ buildImagPartOp_nfi()

ROSE_DLL_API SgImagPartOp* SageBuilder::buildImagPartOp_nfi ( SgExpression op)

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

◆ buildConjugateOp()

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

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

◆ buildConjugateOp_nfi()

ROSE_DLL_API SgConjugateOp* SageBuilder::buildConjugateOp_nfi ( SgExpression op)

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

◆ buildVarArgStartOneOperandOp()

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

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

◆ buildVarArgStartOneOperandOp_nfi()

ROSE_DLL_API SgVarArgStartOneOperandOp* SageBuilder::buildVarArgStartOneOperandOp_nfi ( SgExpression op)

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

◆ buildVarArgEndOp()

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

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

◆ buildVarArgEndOp_nfi()

ROSE_DLL_API SgVarArgEndOp* SageBuilder::buildVarArgEndOp_nfi ( SgExpression op)

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

◆ buildMatrixTransposeOp()

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

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

◆ buildMatrixTransposeOp_nfi()

ROSE_DLL_API SgMatrixTransposeOp* SageBuilder::buildMatrixTransposeOp_nfi ( SgExpression op)

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

◆ buildCastExp_nfi()

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

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

◆ buildMinusOp_nfi() [2/2]

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

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

◆ buildMinusMinusOp() [2/2]

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

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

◆ buildMinusMinusOp_nfi() [2/2]

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

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

◆ buildPlusPlusOp_nfi() [2/2]

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

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

◆ buildNewExp()

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

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

◆ buildDeleteExp()

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

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

◆ buildAddOp()

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

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

◆ buildAddOp_nfi()

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

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

◆ buildAndAssignOp()

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

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

◆ buildAndAssignOp_nfi()

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

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

◆ buildAndOp()

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

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

◆ buildAndOp_nfi()

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

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

◆ buildArrowExp()

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

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

◆ buildArrowExp_nfi()

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

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

◆ buildArrowStarOp()

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

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

◆ buildArrowStarOp_nfi()

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

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

◆ buildAssignOp()

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

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

◆ buildAssignOp_nfi()

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

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

◆ buildBitAndOp()

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

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

◆ buildBitAndOp_nfi()

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

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

◆ buildBitOrOp()

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

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

◆ buildBitOrOp_nfi()

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

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

◆ buildBitXorOp()

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

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

◆ buildBitXorOp_nfi()

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

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

◆ buildCommaOpExp()

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

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

◆ buildCommaOpExp_nfi()

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

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

◆ buildConcatenationOp()

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

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

◆ buildConcatenationOp_nfi()

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

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

◆ buildDivAssignOp()

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

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

◆ buildDivAssignOp_nfi()

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

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

◆ buildDivideOp()

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

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

◆ buildDivideOp_nfi()

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

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

◆ buildDotExp()

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

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

◆ buildDotExp_nfi()

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

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

◆ buildDotStarOp()

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

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

◆ buildDotStarOp_nfi()

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

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

◆ buildEqualityOp()

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

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

◆ buildEqualityOp_nfi()

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

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

◆ buildExponentiationOp()

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

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

◆ buildExponentiationOp_nfi()

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

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

◆ buildExponentiationAssignOp()

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

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

◆ buildExponentiationAssignOp_nfi()

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

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

◆ buildGreaterOrEqualOp()

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

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

◆ buildGreaterOrEqualOp_nfi()

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

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

◆ buildGreaterThanOp()

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

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

◆ buildGreaterThanOp_nfi()

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

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

◆ buildIntegerDivideOp()

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

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

◆ buildIntegerDivideOp_nfi()

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

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

◆ buildIntegerDivideAssignOp()

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

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

◆ buildIntegerDivideAssignOp_nfi()

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

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

◆ buildIorAssignOp()

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

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

◆ buildIorAssignOp_nfi()

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

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

◆ buildIsOp()

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

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

◆ buildIsOp_nfi()

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

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

◆ buildIsNotOp()

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

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

◆ buildIsNotOp_nfi()

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

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

◆ buildLessOrEqualOp()

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

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

◆ buildLessOrEqualOp_nfi()

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

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

◆ buildLessThanOp()

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

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

◆ buildLessThanOp_nfi()

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

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

◆ buildLshiftAssignOp()

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

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

◆ buildLshiftAssignOp_nfi()

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

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

◆ buildLshiftOp()

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

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

◆ buildLshiftOp_nfi()

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

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

◆ buildMembershipOp()

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

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

◆ buildMembershipOp_nfi()

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

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

◆ buildMinusAssignOp()

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

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

◆ buildMinusAssignOp_nfi()

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

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

◆ buildModAssignOp()

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

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

◆ buildModAssignOp_nfi()

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

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

◆ buildModOp()

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

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

◆ buildModOp_nfi()

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

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

◆ buildMultAssignOp()

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

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

◆ buildMultAssignOp_nfi()

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

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

◆ buildMultiplyOp()

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

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

◆ buildMultiplyOp_nfi()

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

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

◆ buildNonMembershipOp()

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

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

◆ buildNonMembershipOp_nfi()

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

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

◆ buildNotEqualOp()

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

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

◆ buildNotEqualOp_nfi()

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

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

◆ buildOrOp()

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

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

◆ buildOrOp_nfi()

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

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

◆ buildPlusAssignOp()

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

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

◆ buildPlusAssignOp_nfi()

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

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

◆ buildPntrArrRefExp()

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

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

◆ buildPntrArrRefExp_nfi()

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

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

◆ buildRshiftAssignOp()

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

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

◆ buildRshiftAssignOp_nfi()

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

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

◆ buildRshiftOp()

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

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

◆ buildRshiftOp_nfi()

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

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

◆ buildScopeOp()

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

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

◆ buildScopeOp_nfi()

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

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

◆ buildSubtractOp()

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

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

◆ buildSubtractOp_nfi()

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

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

◆ buildXorAssignOp()

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

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

◆ buildXorAssignOp_nfi()

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

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

◆ buildVarArgCopyOp()

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

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

◆ buildVarArgCopyOp_nfi()

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

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

◆ buildVarArgStartOp()

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

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

◆ buildVarArgStartOp_nfi()

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

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

◆ buildPowerOp()

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

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

◆ buildPowerOp_nfi()

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

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

◆ buildElementwisePowerOp()

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

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

◆ buildElementwisePowerOp_nfi()

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

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

◆ buildElementwiseMultiplyOp()

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

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

◆ buildElementwiseMultiplyOp_nfi()

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

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

◆ buildElementwiseDivideOp()

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

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

◆ buildElementwiseDivideOp_nfi()

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

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

◆ buildLeftDivideOp()

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

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

◆ buildLeftDivideOp_nfi()

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

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

◆ buildElementwiseLeftDivideOp()

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

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

◆ buildElementwiseLeftDivideOp_nfi()

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

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

◆ buildElementwiseAddOp()

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

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

◆ buildElementwiseAddOp_nfi()

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

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

◆ buildElementwiseSubtractOp()

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

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

◆ buildElementwiseSubtractOp_nfi()

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

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

◆ buildSpaceshipOp()

ROSE_DLL_API SgSpaceshipOp* SageBuilder::buildSpaceshipOp ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

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

◆ buildSpaceshipOp_nfi()

ROSE_DLL_API SgSpaceshipOp* SageBuilder::buildSpaceshipOp_nfi ( SgExpression lhs,
SgExpression rhs 
)

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

◆ buildConditionalExp_nfi()

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

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

◆ buildExprListExp()

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

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

◆ buildExprListExp_nfi() [1/2]

SgExprListExp* SageBuilder::buildExprListExp_nfi ( )

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

◆ buildExprListExp_nfi() [2/2]

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

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

◆ buildTupleExp()

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

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

◆ buildTupleExp_nfi() [1/2]

SgTupleExp* SageBuilder::buildTupleExp_nfi ( )

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

◆ buildTupleExp_nfi() [2/2]

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

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

◆ buildListExp()

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

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

◆ buildListExp_nfi() [1/2]

SgListExp* SageBuilder::buildListExp_nfi ( )

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

◆ buildListExp_nfi() [2/2]

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

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

◆ buildComprehension()

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

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

◆ buildComprehension_nfi()

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

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

◆ buildListComprehension()

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

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

◆ buildListComprehension_nfi()

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

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

◆ buildSetComprehension()

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

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

◆ buildSetComprehension_nfi()

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

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

◆ buildDictionaryComprehension()

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

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

◆ buildDictionaryComprehension_nfi()

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

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

◆ buildVarRefExp()

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

◆ buildVarRefExp_nfi()

ROSE_DLL_API SgVarRefExp* SageBuilder::buildVarRefExp_nfi ( SgVariableSymbol varSymbol)

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

◆ buildOpaqueVarRefExp()

ROSE_DLL_API SgVarRefExp* SageBuilder::buildOpaqueVarRefExp ( const std::string &  varName,
SgScopeStatement scope = NULL 
)

Build a variable reference expression at scope to an opaque variable which has unknown information except for its name. Used when referring to an internal variable defined in some headers of runtime libraries.(The headers are not yet inserted into the file during translation). Similar to buildOpaqueType();.

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

◆ buildCompoundLiteralExp()

SgCompoundLiteralExp* SageBuilder::buildCompoundLiteralExp ( SgVariableSymbol varSymbol)

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

◆ buildFunctionRefExp() [1/2]

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

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

◆ buildFunctionRefExp() [2/2]

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

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

◆ buildFunctionRefExp_nfi()

SgFunctionRefExp* SageBuilder::buildFunctionRefExp_nfi ( SgFunctionSymbol sym)

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

◆ buildMemberFunctionRefExp_nfi()

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

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

◆ buildMemberFunctionRefExp()

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

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

◆ buildClassNameRefExp_nfi()

SgClassNameRefExp* SageBuilder::buildClassNameRefExp_nfi ( SgClassSymbol sym)

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

◆ buildClassNameRefExp()

ROSE_DLL_API SgClassNameRefExp* SageBuilder::buildClassNameRefExp ( SgClassSymbol sym)

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

◆ buildFunctionCallExp_nfi()

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

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

◆ buildFunctionCallExp()

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

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

◆ buildMemberFunctionCall()

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

Build member function calls.

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

◆ buildTypeTraitBuiltinOperator()

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

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

◆ buildAssignInitializer_nfi()

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

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

◆ buildAggregateInitializer_nfi()

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

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

◆ buildCompoundInitializer_nfi()

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

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

◆ buildConstructorInitializer()

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

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

◆ buildConstructorInitializer_nfi()

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

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

◆ buildBracedInitializer_nfi()

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

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

◆ buildSizeOfOp_nfi() [1/2]

ROSE_DLL_API SgSizeOfOp* SageBuilder::buildSizeOfOp_nfi ( SgExpression exp)

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

◆ buildSizeOfOp_nfi() [2/2]

ROSE_DLL_API SgSizeOfOp* SageBuilder::buildSizeOfOp_nfi ( SgType type)

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

◆ buildAlignOfOp_nfi() [1/2]

ROSE_DLL_API SgAlignOfOp* SageBuilder::buildAlignOfOp_nfi ( SgExpression exp)

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

◆ buildAlignOfOp_nfi() [2/2]

ROSE_DLL_API SgAlignOfOp* SageBuilder::buildAlignOfOp_nfi ( SgType type)

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

◆ buildNoexceptOp_nfi()

ROSE_DLL_API SgNoexceptOp* SageBuilder::buildNoexceptOp_nfi ( SgExpression exp)

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

◆ buildFunctionParameterRefExp()

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

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

◆ buildFunctionParameterRefExp_nfi()

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

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

◆ buildLambdaExp_nfi()

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

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

◆ buildLambdaCapture()

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

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

◆ buildLambdaCapture_nfi()

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

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

◆ buildLambdaCaptureList()

ROSE_DLL_API SgLambdaCaptureList* SageBuilder::buildLambdaCaptureList ( )

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

◆ buildLambdaCaptureList_nfi()

ROSE_DLL_API SgLambdaCaptureList* SageBuilder::buildLambdaCaptureList_nfi ( )

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

◆ buildFoldExpression()

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

◆ buildFoldExpression_nfi()

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

◆ buildAwaitExpression()

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

◆ buildAwaitExpression_nfi()

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

◆ buildChooseExpression()

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

◆ buildChooseExpression_nfi()

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

◆ buildInitializedName() [1/3]

ROSE_DLL_API SgInitializedName* SageBuilder::buildInitializedName ( const SgName name,
SgType type,
SgInitializer init = NULL 
)

Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.

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

◆ buildInitializedName() [2/3]

ROSE_DLL_API SgInitializedName* SageBuilder::buildInitializedName ( const std::string &  name,
SgType type 
)

Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.

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

◆ buildInitializedName() [3/3]

ROSE_DLL_API SgInitializedName* SageBuilder::buildInitializedName ( const char *  name,
SgType type 
)

Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.

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

◆ buildInitializedName_nfi()

ROSE_DLL_API SgInitializedName* SageBuilder::buildInitializedName_nfi ( const SgName name,
SgType type,
SgInitializer init 
)

Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.

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

◆ buildLabelStatement()

ROSE_DLL_API SgLabelStatement* SageBuilder::buildLabelStatement ( const SgName name,
SgStatement stmt = NULL,
SgScopeStatement scope = NULL 
)

Build a label statement, name is the label's name. Handling label symbol and scope internally.

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

◆ buildTryStmt()

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

Build a try statement.

Build a try statement.

◆ buildFile()

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

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.

◆ buildSourceFile() [1/2]

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

Build a SgFile node and attach it to SgProject.

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

◆ buildSourceFile() [2/2]

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

◆ buildEquivalenceStatement()

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

Build a SgFile node and attach it to SgProject.

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

◆ fixupCopyOfNodeFromSeparateFileInNewTargetAst()

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

Build a SgFile node and attach it to SgProject.

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

◆ getTargetFileTypeSupport()

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

Build a SgFile node and attach it to SgProject.

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

◆ getTargetFileType()

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

Build a SgFile node and attach it to SgProject.

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

◆ findAssociatedSymbolInTargetAST()

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

Build a SgFile node and attach it to SgProject.

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

◆ findAssociatedDeclarationInTargetAST()

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

Build a SgFile node and attach it to SgProject.

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

◆ buildUnaryExpression()

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

Template function to build a unary expression of type T. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). They are also used for the unary vararg operators (which are not technically unary operators).

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

Definition at line 1649 of file sageBuilder.h.

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

Here is the call graph for this function:

◆ buildUnaryExpression_nfi()

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

Template function to build a unary expression of type T with no file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). They are also used for the unary vararg operators (which are not technically unary operators).

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

Definition at line 1667 of file sageBuilder.h.

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

Here is the call graph for this function:

◆ buildBinaryExpression()

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

◆ buildBinaryExpression_nfi()

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