Interface ICASTArrayModifier

All Superinterfaces:
IASTArrayModifier, IASTAttributeOwner, IASTNode

public interface ICASTArrayModifier extends IASTArrayModifier
This interface represents the role of a C array modifier. C allows for modifiers (const, restrict, etc.) as well as variable sized arrays.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Method Details

    • isConst

      boolean isConst()
      Is the const modifier used?
      Returns:
      boolean
    • isStatic

      boolean isStatic()
      Is the static modifier used?
      Returns:
      boolean
    • isRestrict

      boolean isRestrict()
      Is the restrict modifier used?
      Returns:
      boolean
    • isVolatile

      boolean isVolatile()
      Is the volatile modifier used?
      Returns:
      boolean
    • setConst

      void setConst(boolean value)
      Set true/false that the const modifier is used.
      Parameters:
      value - boolean
    • setVolatile

      void setVolatile(boolean value)
      Set true/false that the volatile modifier is used.
      Parameters:
      value - boolean
    • setRestrict

      void setRestrict(boolean value)
      Set true/false that the restrict modifier is used.
      Parameters:
      value - boolean
    • setStatic

      void setStatic(boolean value)
      Set true/false that the static modifier is used.
      Parameters:
      value - boolean
    • isVariableSized

      boolean isVariableSized()
      Is the array variable sized? ( used ... )
      Returns:
      boolean
    • setVariableSized

      void setVariableSized(boolean value)
      Set the array to be variable sized dependent upon value.
      Parameters:
      value - boolean
    • 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 IASTArrayModifier
      Specified by:
      copy in interface IASTNode
      Since:
      5.1
    • 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.
      Specified by:
      copy in interface IASTArrayModifier
      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.
      Since:
      5.3