Interface ICPPASTNewExpression

All Superinterfaces:
IASTExpression, IASTImplicitDestructorNameOwner, IASTImplicitNameOwner, IASTInitializerClause, IASTNode, ICPPASTExpression, ICPPASTInitializerClause

public interface ICPPASTNewExpression extends ICPPASTExpression, IASTImplicitNameOwner
This interface represents a new expression.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • NEW_PLACEMENT

      static final ASTNodeProperty NEW_PLACEMENT
    • TYPE_ID

      static final ASTNodeProperty TYPE_ID
    • NEW_INITIALIZER

      static final ASTNodeProperty NEW_INITIALIZER
    • NEW_TYPEID_ARRAY_EXPRESSION

      @Deprecated static final ASTNodeProperty NEW_TYPEID_ARRAY_EXPRESSION
      Deprecated.
      the id-expressions are part of the type-id.
      Restriction:
      This field is not intended to be referenced by clients.
  • Method Details

    • isGlobal

      boolean isGlobal()
      Is this a ::new expression?
    • isArrayAllocation

      boolean isArrayAllocation()
      Returns true if this expression is allocating an array.
      Since:
      5.1
    • getPlacementArguments

      IASTInitializerClause[] getPlacementArguments()
      Returns the additional arguments for the new placement, or null. A placement argument can be of type ICPPASTInitializerList.
      Since:
      5.2
    • getTypeId

      IASTTypeId getTypeId()
      Get the type Id. The type-id includes the optional array modifications.
    • isNewTypeId

      boolean isNewTypeId()
      Returns whether the the typeID a new type ID, which is the case when the type-id is provided without parenthesis.
    • getInitializer

      IASTInitializer getInitializer()
      Returns the initializer or null.
      Since:
      5.2
    • 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 IASTExpression
      Specified by:
      copy in interface IASTInitializerClause
      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 IASTExpression
      Specified by:
      copy in interface IASTInitializerClause
      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
    • setIsGlobal

      void setIsGlobal(boolean value)
      Not allowed on frozen ast.
    • setPlacementArguments

      void setPlacementArguments(IASTInitializerClause[] expression)
      Not allowed on frozen ast.
      Since:
      5.2
    • setTypeId

      void setTypeId(IASTTypeId typeId)
      Not allowed on frozen ast.
    • setIsNewTypeId

      void setIsNewTypeId(boolean value)
      Not allowed on frozen ast.
    • setInitializer

      void setInitializer(IASTInitializer init)
      Not allowed on frozen ast.
      Since:
      5.2
    • getNewTypeIdArrayExpressions

      @Deprecated IASTExpression[] getNewTypeIdArrayExpressions()
      Deprecated.
      the id-expressions are part of the type-id.
      Restriction:
      This method is not intended to be referenced by clients.
    • addNewTypeIdArrayExpression

      @Deprecated void addNewTypeIdArrayExpression(IASTExpression expression)
      Deprecated.
      the id-expressions are part of the type-id
      Restriction:
      This method is not intended to be referenced by clients.
    • getNewPlacement

      @Deprecated IASTExpression getNewPlacement()
      Deprecated.
      Restriction:
      This method is not intended to be referenced by clients.
    • setNewPlacement

      @Deprecated void setNewPlacement(IASTExpression expression)
      Restriction:
      This method is not intended to be referenced by clients.
    • getNewInitializer

      @Deprecated IASTExpression getNewInitializer()
      Deprecated.
      Replaced by getInitializer()
      Restriction:
      This method is not intended to be referenced by clients.
    • setNewInitializer

      @Deprecated void setNewInitializer(IASTExpression expression)
      Deprecated.
      Restriction:
      This method is not intended to be referenced by clients.