public class SpecificFunctionType extends AnyFunctionType
ItemType.WithSequenceTypeCache
ANY_FUNCTION
Constructor and Description |
---|
SpecificFunctionType(SequenceType[] argTypes,
SequenceType resultType) |
SpecificFunctionType(SequenceType[] argTypes,
SequenceType resultType,
AnnotationList annotations) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other)
Test whether this function type equals another function type
|
java.util.Optional<java.lang.String> |
explainMismatch(Item item,
TypeHierarchy th)
Get extra diagnostic information about why a supplied item does not conform to this
item type, if available.
|
java.lang.String |
generateJavaScriptItemTypeTest(ItemType knownToBe,
int targetVersion)
Generate Javascript code to test whether an item conforms to this item type
|
AnnotationList |
getAnnotationAssertions()
Get the list of annotation assertions defined on this function item type.
|
SequenceType[] |
getArgumentTypes()
Get the argument types
|
int |
getArity()
Get the arity (number of arguments) of this function type
|
SequenceType |
getResultType()
Get the result type
|
int |
hashCode()
Returns a hash code value for the object.
|
boolean |
isAtomizable(TypeHierarchy th)
Ask whether values of this type are atomizable
|
Expression |
makeFunctionSequenceCoercer(Expression exp,
RoleDiagnostic role)
Create an expression whose effect is to apply function coercion to coerce a function from this type to another type
|
boolean |
matches(Item item,
TypeHierarchy th)
Test whether a given item conforms to this type
|
int |
relationship(FunctionItemType other,
TypeHierarchy th)
Determine the relationship of one function item type to another.
|
java.lang.String |
toExportString()
Return a string representation of this ItemType suitable for use in stylesheet
export files.
|
java.lang.String |
toString()
Produce a representation of this type name for use in error messages.
|
generateJavaScriptItemTypeAcceptor, getAlphaCode, getAtomizedItemType, getInstance, getPrimitiveItemType, getPrimitiveType, getUType, isArrayType, isAtomicType, isMapType, isPlainType
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getGenre
isTrueItemType
public SpecificFunctionType(SequenceType[] argTypes, SequenceType resultType)
public SpecificFunctionType(SequenceType[] argTypes, SequenceType resultType, AnnotationList annotations)
public int getArity()
public SequenceType[] getArgumentTypes()
getArgumentTypes
in interface FunctionItemType
getArgumentTypes
in class AnyFunctionType
public SequenceType getResultType()
getResultType
in interface FunctionItemType
getResultType
in class AnyFunctionType
public AnnotationList getAnnotationAssertions()
getAnnotationAssertions
in interface FunctionItemType
getAnnotationAssertions
in class AnyFunctionType
public boolean isAtomizable(TypeHierarchy th)
isAtomizable
in interface ItemType
isAtomizable
in class AnyFunctionType
th
- The type hierarchy cachepublic java.lang.String toString()
toString
in interface ItemType
toString
in class AnyFunctionType
public java.lang.String toExportString()
ItemType
toString()
.public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public int relationship(FunctionItemType other, TypeHierarchy th)
relationship
in interface FunctionItemType
relationship
in class AnyFunctionType
TypeHierarchy.SUBSUMES
, TypeHierarchy.SAME_TYPE
public boolean matches(Item item, TypeHierarchy th)
matches
in interface ItemType
matches
in class AnyFunctionType
item
- The item to be testedth
- the type hierarchy cachepublic java.util.Optional<java.lang.String> explainMismatch(Item item, TypeHierarchy th)
item
- the item that doesn't match this typeth
- the type hierarchy cachepublic Expression makeFunctionSequenceCoercer(Expression exp, RoleDiagnostic role) throws XPathException
AnyFunctionType
makeFunctionSequenceCoercer
in interface FunctionItemType
makeFunctionSequenceCoercer
in class AnyFunctionType
exp
- the expression that delivers the supplied sequence of function items (the ones in need of coercion)role
- information for use in diagnosticsXPathException
public java.lang.String generateJavaScriptItemTypeTest(ItemType knownToBe, int targetVersion) throws XPathException
generateJavaScriptItemTypeTest
in interface ItemType
generateJavaScriptItemTypeTest
in class AnyFunctionType
knownToBe
- targetVersion
- XPathException
- if JS code cannot be generated for this item type, for example because
the test is schema-aware.Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.