public abstract class XFFunction
extends net.sf.saxon.expr.FunctionCall
| Constructor and Description |
|---|
XFFunction() |
| Modifier and Type | Method and Description |
|---|---|
net.sf.saxon.expr.parser.PathMap.PathMapNodeSet |
addDocToPathMap(net.sf.saxon.expr.parser.PathMap pathMap,
net.sf.saxon.expr.parser.PathMap.PathMapNodeSet pathMapNodes)
Add a representation of a doc() call or similar function to a PathMap.
|
void |
checkArguments(net.sf.saxon.expr.parser.ExpressionVisitor visitor)
Method called during static type checking.
|
int |
computeCardinality()
Determine the cardinality of the function.
|
int |
computeSpecialProperties()
Determine the special properties of this expression.
|
net.sf.saxon.expr.Expression |
copy()
Copy an expression.
|
net.sf.saxon.functions.StandardFunction.Entry |
getDetails()
Get the details of the function signature.
|
java.lang.String |
getErrorCodeForTypeErrors()
Return the error code to be used for type errors.
|
XBRLFormulaProcessor |
getFormulaProcessor()
Gets the formula processor.
|
net.sf.saxon.type.ItemType |
getItemType(net.sf.saxon.type.TypeHierarchy th)
Determine the item type of the value returned by the function.
|
static net.sf.saxon.expr.FunctionCall |
makeSystemFunction(java.lang.String name,
net.sf.saxon.expr.Expression[] arguments,
XBRLFormulaProcessor fp)
Make a xfi function call (one in the xfi namespace).
|
net.sf.saxon.expr.Expression |
optimize(net.sf.saxon.expr.parser.ExpressionVisitor visitor,
net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType contextItemType)
Perform optimisation of an expression and its subexpressions.
|
void |
setDetails(net.sf.saxon.functions.StandardFunction.Entry entry)
Set the details of this type of function.
|
void |
setFormulaProcessor(XBRLFormulaProcessor fp)
Sets the formula processor.
|
addExternalFunctionCallToPathMap, equals, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, toString, typeCheckaddToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getImplementationMethod, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidationpublic static net.sf.saxon.expr.FunctionCall makeSystemFunction(java.lang.String name,
net.sf.saxon.expr.Expression[] arguments,
XBRLFormulaProcessor fp)
name - The local name of the function.arguments - the arguments to the function callfp - the fppublic void setDetails(net.sf.saxon.functions.StandardFunction.Entry entry)
entry - information giving details of the function signaturepublic void setFormulaProcessor(XBRLFormulaProcessor fp)
fp - the new formula processorpublic XBRLFormulaProcessor getFormulaProcessor()
public net.sf.saxon.functions.StandardFunction.Entry getDetails()
public void checkArguments(net.sf.saxon.expr.parser.ExpressionVisitor visitor)
throws net.sf.saxon.trans.XPathException
checkArguments in class net.sf.saxon.expr.FunctionCallvisitor - the visitornet.sf.saxon.trans.XPathException - the x path exceptionpublic net.sf.saxon.expr.Expression optimize(net.sf.saxon.expr.parser.ExpressionVisitor visitor,
net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType contextItemType)
throws net.sf.saxon.trans.XPathException
This method is called after all references to functions and variables have been resolved to the declaration of the function or variable, and after all type checking has been done.
optimize in class net.sf.saxon.expr.FunctionCallvisitor - an expression visitorcontextItemType - the static type of "." at the point where this expression is invoked.
The parameter is set to null if it is known statically that the context item will be undefined.
If the type of the context item is not known statically, the argument is set to
Type.ITEM_TYPEnet.sf.saxon.trans.XPathException - if an error is discovered during this phase
(typically a type error)public net.sf.saxon.expr.Expression copy()
copy in class net.sf.saxon.expr.Expressionpublic java.lang.String getErrorCodeForTypeErrors()
public net.sf.saxon.type.ItemType getItemType(net.sf.saxon.type.TypeHierarchy th)
getItemType in class net.sf.saxon.expr.Expressionth - the type hierarchy cachepublic int computeCardinality()
computeCardinality in class net.sf.saxon.expr.Expressionpublic int computeSpecialProperties()
computeSpecialProperties in class net.sf.saxon.expr.Expressionpublic net.sf.saxon.expr.parser.PathMap.PathMapNodeSet addDocToPathMap(net.sf.saxon.expr.parser.PathMap pathMap,
net.sf.saxon.expr.parser.PathMap.PathMapNodeSet pathMapNodes)
pathMap - the PathMap to which the expression should be addedpathMapNodes - the node in the PathMap representing the focus at the point where this expression
is called. Set to null if this expression appears at the top level.