Skip to content

SageBuilder::buildVarRefExp

buildVarRefExp overloads

Synopses

Declared in <SageIII/sageInterface/sageBuilder.h>

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

[[visibility]]
SgVarRefExp*
buildVarRefExp(SgVariableDeclaration* vardecl);

Build a variable reference from an existing symbol

[[visibility]]
SgVarRefExp*
buildVarRefExp(SgVariableSymbol* varSymbol);

Build SgVarRefExp for an existing variable symbol found from scope. Missing declarations are malformed AST construction and abort immediately.

[[visibility]]
SgVarRefExp*
buildVarRefExp(
    SgName const& name,
    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.

[[visibility]]
SgVarRefExp*
buildVarRefExp(
    std::string const& varName,
    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.

[[visibility]]
SgVarRefExp*
buildVarRefExp(
    SgInitializedName* initname,
    SgScopeStatement* scope = NULL);

Build a variable reference using a C style char array

[[visibility]]
SgVarRefExp*
buildVarRefExp(
    char const* varName,
    SgScopeStatement* scope = NULL);

Created with MrDocs