Interface IFunction

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Type determineResultType​(ISemanticNode... arguments)
      This method is used to determine the result type of the function using the type information of the parameters that will be passed to the function.
      IValue evaluate​(IArgumentList arguments)
      This method should execute the function using the supplied arguments.
      IArgumentType[] getArguments()
      This method returns an array containing the definitions of the arguments the function expects.
      String getName()
      This method returns the name of the function.
      boolean isDeprecated()
      This method returns a boolean indicating that the function is deprecated and should no longer be used.
    • Method Detail

      • getName

        String getName()
        This method returns the name of the function.
        Returns:
        the name of the function.
      • getArguments

        IArgumentType[] getArguments()
        This method returns an array containing the definitions of the arguments the function expects. When the function does not accept any arguments at all, an empty array should be returned.
        Returns:
        Array containing the definitions of the parameters.
      • evaluate

        IValue evaluate​(IArgumentList arguments)
        This method should execute the function using the supplied arguments.
        Parameters:
        arguments - The arguments for the function.
        Returns:
        The result of the function.
        Throws:
        ExpressionException - This exception is thrown when the function could not be invoked with the supplied arguments.
      • determineResultType

        Type determineResultType​(ISemanticNode... arguments)
        This method is used to determine the result type of the function using the type information of the parameters that will be passed to the function.
        Parameters:
        arguments - The type information of the parameters.
        Returns:
        The result type of the function.
      • isDeprecated

        boolean isDeprecated()
        This method returns a boolean indicating that the function is deprecated and should no longer be used. Functions that are not deprecated should return the value false.
        Returns:
        A message indicating that the function is deprecated.