Interface IGCCASTArrayRangeDesignator

  • All Superinterfaces:
    IASTNode, ICASTDesignator

    public interface IGCCASTArrayRangeDesignator
    extends ICASTDesignator
    GCC-specific designator that allows for shorthand array range to be specified in a designated initializer. struct ABC { int def[10]; } abc = { def[4...10] = 3 };
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • Field Detail

      • SUBSCRIPT_FLOOR_EXPRESSION

        static final ASTNodeProperty SUBSCRIPT_FLOOR_EXPRESSION
        SUSBCRIPT_FLOOR_EXPRESSION represents the lower value in the range of expressions.
      • SUBSCRIPT_CEILING_EXPRESSION

        static final ASTNodeProperty SUBSCRIPT_CEILING_EXPRESSION
        SUSBCRIPT_CEILING_EXPRESSION represents the higher value in the range of expressions.
    • Method Detail

      • getRangeFloor

        IASTExpression getRangeFloor()
        Get the floor expression of the range.
        Returns:
        the floor expression IASTExpression
      • setRangeFloor

        void setRangeFloor​(IASTExpression expression)
        Set the floor expression of the range.
        Parameters:
        expression - IASTExpression
      • getRangeCeiling

        IASTExpression getRangeCeiling()
        Get the range ceiling expression.
        Returns:
        IASTExpression
      • setRangeCeiling

        void setRangeCeiling​(IASTExpression expression)
        Set the ceiling expression of the range.
        Parameters:
        expression - IASTExpression
      • copy

        IGCCASTArrayRangeDesignator 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
        Specified by:
        copy in interface ICASTDesignator
        Since:
        5.1
      • copy

        IGCCASTArrayRangeDesignator 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
        Specified by:
        copy in interface ICASTDesignator
        Parameters:
        style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
        Since:
        5.3