Module dev.civl.abc

Interface AbstractFunctionDefinitionNode

All Superinterfaces:
ASTNode, BlockItemNode, DeclarationNode, FunctionDeclarationNode, OrdinaryDeclarationNode

public interface AbstractFunctionDefinitionNode extends FunctionDeclarationNode

An abstract function definition contains the information for an abstract function (i.e. a function in the mathematical sense, treated as uninterpreted in the code).

An abstract function has an identifier, return type, parameters, and an integer specifying the number of partial derivatives that may be taken.

  • Method Details

    • continuity

      int continuity()
      Returns the number of partial derivatives that exist and are continuous.
      Returns:
      The total number of partial derivatives (of any parameter) that may be taken.
    • getIntervals

      Returns the sequence of interval whose Cartesian product defines the domain on which the function is differentiable.
      Returns:
      the interval sequence or null if absent
    • copy

      Description copied from interface: ASTNode
      Returns a deep copy of this AST node. The node and all of its descendants will be cloned. The cloning does not copy analysis or attribute information.
      Specified by:
      copy in interface ASTNode
      Specified by:
      copy in interface BlockItemNode
      Specified by:
      copy in interface DeclarationNode
      Specified by:
      copy in interface FunctionDeclarationNode
      Specified by:
      copy in interface OrdinaryDeclarationNode
      Returns:
      deep copy of this node
    • getAttribute

      StringLiteralNode getAttribute()
      Returns:
      the StringLiteralNode representing an optional attribute attached to the abstract function, if there is an attribute. null, otherwise.