Interface ICASTKnRFunctionDeclarator

All Superinterfaces:
IASTAttributeOwner, IASTDeclarator, IASTFunctionDeclarator, IASTNameOwner, IASTNode

public interface ICASTKnRFunctionDeclarator extends IASTFunctionDeclarator
This is the declarator for a 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

    • PARAMETER_NAME

      static final ASTNodeProperty PARAMETER_NAME
      PARAMETER_NAME refers to the names qualified in a K&R C function definition.
    • FUNCTION_PARAMETER

      static final ASTNodeProperty FUNCTION_PARAMETER
      FUNCTION_PARAMETER represents the relationship between an K&R function declarator and the full parameter declarations.
  • Method Details

    • setParameterNames

      void setParameterNames(IASTName[] names)
      Sets the parameter names. TODO - this should change to add
      Parameters:
      names - IASTName []
    • getParameterNames

      IASTName[] getParameterNames()
      Returns parameter names.
      Returns:
      IASTName []
    • setParameterDeclarations

      void setParameterDeclarations(IASTDeclaration[] decls)
      Sets the parameter lists.
      Parameters:
      decls - TODO - replace w/zadd
    • getParameterDeclarations

      IASTDeclaration[] getParameterDeclarations()
      Get parameters declarations.
      Returns:
      IASTDeclaration []
    • getDeclaratorForParameterName

      IASTDeclarator getDeclaratorForParameterName(IASTName name)
      Map declarator to IASTName.
      Parameters:
      name - IASTName
    • 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