Interface IASTStandardFunctionDeclarator

All Superinterfaces:
IASTAttributeOwner, IASTDeclarator, IASTFunctionDeclarator, IASTNameOwner, IASTNode
All Known Subinterfaces:
ICPPASTDeductionGuide, ICPPASTFunctionDeclarator, ICPPASTFunctionTryBlockDeclarator

public interface IASTStandardFunctionDeclarator extends IASTFunctionDeclarator
This is a declarator for a non K&R C function.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • FUNCTION_PARAMETER

      static final ASTNodeProperty FUNCTION_PARAMETER
      FUNCTION_PARAMETER represents the relationship between an IASTStandardFunctionDeclarator and it's nested IASTParameterDeclaration.
  • Method Details

    • getFunctionScope

      IScope getFunctionScope()
      Get the scope for this declarator. Returns null, if this declarator does not declare a function-prototype or function-definition.
      Since:
      5.1
    • getParameters

      IASTParameterDeclaration[] getParameters()
      Gets the parameter declarations for the function
      Returns:
      array of IASTParameterDeclaration
    • addParameterDeclaration

      void addParameterDeclaration(IASTParameterDeclaration parameter)
      Add a parameter.
      Parameters:
      parameter - IASTParameterDeclaration
    • takesVarArgs

      boolean takesVarArgs()
      Does this function take a variable number of arguments?
      Returns:
      boolean
    • setVarArgs

      void setVarArgs(boolean value)
      Set whether or not this function takes a variable number or arguments.
      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 IASTDeclarator
      Specified by:
      copy in interface IASTFunctionDeclarator
      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 IASTDeclarator
      Specified by:
      copy in interface IASTFunctionDeclarator
      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