Interface IASTDeclaration

All Superinterfaces:
IASTNode
All Known Subinterfaces:
IASTASMDeclaration, IASTFunctionDefinition, IASTProblemDeclaration, IASTSimpleDeclaration, ICPPASTAliasDeclaration, ICPPASTExplicitTemplateInstantiation, ICPPASTFunctionDefinition, ICPPASTFunctionWithTryBlock, ICPPASTInitCapture, ICPPASTLinkageSpecification, ICPPASTNamespaceAlias, ICPPASTNamespaceDefinition, ICPPASTStaticAssertDeclaration, ICPPASTStructuredBindingDeclaration, ICPPASTTemplateDeclaration, ICPPASTTemplateSpecialization, ICPPASTUsingDeclaration, ICPPASTUsingDirective, ICPPASTVisibilityLabel, IGPPASTExplicitTemplateInstantiation

public interface IASTDeclaration extends IASTNode
This is the root class of all declarations.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • EMPTY_DECLARATION_ARRAY

      static final IASTDeclaration[] EMPTY_DECLARATION_ARRAY
  • Method Details

    • 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
      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 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