Interface IASTAttribute

  • All Superinterfaces:
    IASTNode
    All Known Subinterfaces:
    ICPPASTAttribute

    public interface IASTAttribute
    extends IASTNode
    Represents a C++11 (ISO/IEC 14882:2011 7.6) or a GCC attribute (http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html).
    Since:
    5.4
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Field Detail

      • EMPTY_ATTRIBUTE_ARRAY

        static final IASTAttribute[] EMPTY_ATTRIBUTE_ARRAY
      • ARGUMENT_CLAUSE

        static final ASTNodeProperty ARGUMENT_CLAUSE
        ATTRIBUTE_ARGUMENT represents the relationship between an IASTAttribute and an IASTExpression.
    • Method Detail

      • getName

        char[] getName()
        Returns the name of the attribute.
      • getArgumentClause

        IASTToken getArgumentClause()
        Returns arguments of this attribute, or null if the attribute doesn't have arguments.
      • setArgumentClause

        void setArgumentClause​(IASTToken argumentClause)
        Sets the argument clause.
      • copy

        IASTAttribute copy()
        Description copied from interface: IASTNode
        Returns a mutable copy of the tree rooted at this node. The following postconditions hold:
         copy.getParent() == null
         copy.getPropertyInParent() == null
         copy.isFrozen() == false
         
        Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

        Calling this method is equivalent to copy(CopyStyle.withoutLocations).

        Specified by:
        copy in interface IASTNode
      • copy

        IASTAttribute copy​(IASTNode.CopyStyle style)
        Description copied from interface: IASTNode
        Returns a mutable copy of the tree rooted at this node. The following postconditions hold:
         copy.getParent() == null
         copy.getPropertyInParent() == null
         copy.isFrozen() == false
         
        Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.
        Specified by:
        copy in interface IASTNode
        Parameters:
        style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.