Interface FunctionItemType

    • Method Detail

      • getGenre

        default Genre getGenre()
        Determine the Genre (top-level classification) of this type
        Specified by:
        getGenre in interface ItemType
        Returns:
        the Genre to which this type belongs, specifically Genre.FUNCTION
      • getArgumentTypes

        SequenceType[] getArgumentTypes()
        Get the argument types of the function
        Returns:
        the argument types, as an array of SequenceTypes; or null if this is the generic function type function(*)
      • getResultType

        SequenceType getResultType()
        Get the result type of the function
        Returns:
        the result type, as a SequenceType
      • getAnnotationAssertions

        AnnotationList getAnnotationAssertions()
        Get the list of Annotation Assertions associated with this function item type
        Returns:
        the list of annotation assertions
      • makeFunctionSequenceCoercer

        Expression makeFunctionSequenceCoercer​(Expression exp,
                                               RoleDiagnostic role)
                                        throws XPathException
        Create an expression whose effect is to apply function coercion to coerce a function to this function type
        Parameters:
        exp - the expression that delivers the supplied sequence of function items (the ones in need of coercion)
        role - information for use in diagnostics
        Returns:
        the coerced function, a function that calls the original function after checking the parameters
        Throws:
        XPathException
      • isMapType

        boolean isMapType()
        Ask whether this function item type is a map type. In this case function coercion (to the map type) will never succeed.
        Returns:
        true if this FunctionItemType is a map type
      • isArrayType

        boolean isArrayType()
        Ask whether this function item type is an array type. In this case function coercion (to the array type) will never succeed.
        Returns:
        true if this FunctionItemType is an array type