Class Unparse_MOD_SAGE

Contents

Class Unparse_MOD_SAGE#

Class Documentation#

class Unparse_MOD_SAGE#

Public Functions

Unparse_MOD_SAGE(Unparser *unp)#
inline virtual ~Unparse_MOD_SAGE()#
int cur_get_linewrap()#
void cur_set_linewrap(int nr)#
void curprint(std::string str)#
void curprint_newline()#
bool isOperator(SgExpression *expr)#

functions that test for overloaded operator function (modified_sage.C) Pattern matching on a single IR node (usually the SgMemberFunctionRefExp)

bool isBinaryEqualsOperator(SgExpression *expr)#
bool isBinaryEqualityOperator(SgExpression *expr)#
bool isBinaryInequalityOperator(SgExpression *expr)#
bool isBinaryArithmeticOperator(SgExpression *expr)#
bool isBinaryParenOperator(SgExpression *expr)#
bool isBinaryBracketOperator(SgExpression *expr)#
bool isBinaryOperator(SgExpression *expr)#
bool isUnaryOperatorPlus(SgExpression *expr)#
bool isUnaryOperatorMinus(SgExpression *expr)#
bool isUnaryAddressOperator(SgExpression *expr)#
bool isUnaryDereferenceOperator(SgExpression *expr)#
bool isUnaryComplementOperator(SgExpression *expr)#
bool isUnaryLiteralOperator(SgExpression *expr)#
bool isUnaryNotOperator(SgExpression *expr)#
bool isUnaryIncrementOperator(SgExpression *expr)#
bool isUnaryDecrementOperator(SgExpression *expr)#
bool isUnaryOperator(SgExpression *expr)#
bool isUnaryPostfixOperator(SgExpression *expr)#
bool isOverloadedArrowOperator(SgExpression *expr)#
bool isIOStreamOperator(SgExpression *expr)#
bool isUnaryOperatorArrowSubtree(SgExpression *expr)#

Subtree query operators (pattern recognition on subtree, more complex than the test for a function name on the SgMemberFunctionRefExp node). This function is used to get for the combination of “operator->()->operator[](i)” since in this case the unparsed code can not be rediced to “->[i]”.

bool NoDereference(SgExpression *expr)#

auxiliary functions (some code from original modified_sage.C)

bool isCast_ConstCharStar(SgType *type)#
bool PrintStartParen(SgExpression *expr, SgUnparse_Info &info)#
bool RemovePareninExprList(SgExprListExp *expr_list)#
bool isOneElementList(SgConstructorInitializer *con_init)#
bool printConstructorName(SgExpression *expr)#
bool noQualifiedName(SgExpression *expr)#
void printSpecifier1(SgDeclarationStatement *decl_stmt, SgUnparse_Info &info)#
void printSpecifier2(SgDeclarationStatement *decl_stmt, SgUnparse_Info &info)#
void printSpecifier(SgDeclarationStatement *decl_stmt, SgUnparse_Info &info)#
void printAttributes(SgDeclarationStatement *decl_stmt, SgUnparse_Info &info)#
void printAttributes(SgInitializedName *initializedName, SgUnparse_Info &info)#
void printPrefixAttributes(SgDeclarationStatement *decl_stmt, SgUnparse_Info &info)#
void printAttributesForType(SgDeclarationStatement *decl_stmt, SgUnparse_Info &info)#
void directives(SgLocatedNode *lnode)#
void outputExternLinkageSpecifier(SgDeclarationStatement *decl_stmt, SgUnparse_Info &info)#
void outputTemplateSpecializationSpecifier(SgDeclarationStatement *decl_stmt, SgUnparse_Info &info)#
void printColorCodes(SgNode *node, bool openState, std::vector<std::pair<bool, std::string>> &stateVector)#

Support for color codes in unparse output.

void setupColorCodes(std::vector<std::pair<bool, std::string>> &stateVector)#

Public Static Attributes

static bool experimentalMode#
static int experimentalModeVerbose#