Class AstUnparseAttribute#

Inheritance Relationships#

Base Type#

Class Documentation#

class AstUnparseAttribute : public AstAttribute#

Public Types

enum RelativePositionType#

Values:

enumerator e_defaultValue#
enumerator e_undef#
enumerator e_before#
enumerator e_after#
enumerator e_inside#
enumerator e_replace#
enumerator e_before_syntax#
enumerator e_after_syntax#
enumerator e_before_but_after_cpp_directives_and_comments#
typedef std::pair<std::string, RelativePositionType> StringPositionPairType#
typedef std::vector<StringPositionPairType> StringPositionPairListType#

Public Functions

AstUnparseAttribute(std::string s, RelativePositionType inputlocation)#

Constructor.

virtual ~AstUnparseAttribute()#

Desstructor.

void addString(std::string s, RelativePositionType inputlocation)#

Adds string at location relative to IR node.

bool replacementStringExists()#

This reports if there exists a replacement string for the IR nodes where the AstUnparseAttribute is attached.

virtual std::string toString() override#

This will output all the strings (mostly for debugging).

virtual std::string toString(RelativePositionType inputlocation)#

This is selective in putting out only the strings that match a specific location.

virtual AstAttribute::OwnershipPolicy getOwnershipPolicy() const override#

required for ast attribute mechanism

Public Members

StringPositionPairListType stringList#

Public Static Attributes

static const std::string markerName#

Static data used as name in AstAttribute mechanism.