public abstract class SystemFunction extends FunctionCall
Modifier and Type | Field and Description |
---|---|
protected int |
operation |
argument
locationId, staticProperties
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
Constructor and Description |
---|
SystemFunction() |
Modifier and Type | Method and Description |
---|---|
protected void |
addContextDocumentArgument(int pos,
String augmentedName)
Add an implicit argument referring to the context document.
|
void |
checkArguments(StaticContext env)
Method called during static type checking
|
int |
computeCardinality()
Determine the cardinality of the function.
|
int |
computeSpecialProperties()
Determine the special properties of this expression.
|
void |
display(int level,
NamePool pool,
PrintStream out)
Diagnostic print of expression structure
|
protected StandardFunction.Entry |
getDetails()
Get the details
|
String |
getErrorCodeForTypeErrors()
Return the error code to be used for type errors
|
ItemType |
getItemType(TypeHierarchy th)
Determine the item type of the value returned by the function
|
protected SequenceType |
getRequiredType(int arg)
Get the required type of the nth argument
|
static void |
main(String[] args)
The main() method of this class is not intended to be called, it merely
tells the code inspection tools in IDEA that the constructors of each
function class are actual entry points
|
static FunctionCall |
makeSystemFunction(String name,
int arity,
NamePool pool)
Make a system function (one in the standard function namespace).
|
void |
setDetails(StandardFunction.Entry entry)
Set the details of this type of function
|
protected void |
useContextItemAsDefault()
Set "." as the default value for the first and only argument.
|
checkArgumentCount, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, optimize, preEvaluate, promote, setArguments, setFunctionNameCode, simplify, simplifyArguments, typeCheck
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError
public static FunctionCall makeSystemFunction(String name, int arity, NamePool pool)
name
- The local name of the function. It may also be a lexical QName for
a recognized built-in function, e.g. saxon:evaluate, in which case the prefix is hard-coded.public void setDetails(StandardFunction.Entry entry)
protected StandardFunction.Entry getDetails()
public void checkArguments(StaticContext env) throws XPathException
checkArguments
in class FunctionCall
XPathException
public String getErrorCodeForTypeErrors()
protected SequenceType getRequiredType(int arg)
public ItemType getItemType(TypeHierarchy th)
th
- public int computeCardinality()
computeCardinality
in class ComputedExpression
public int computeSpecialProperties()
computeSpecialProperties
in class ComputedExpression
protected final void useContextItemAsDefault()
protected final void addContextDocumentArgument(int pos, String augmentedName) throws StaticError
StaticError
public void display(int level, NamePool pool, PrintStream out)
display
in interface Expression
display
in class FunctionCall
level
- indentation level for this expressionpool
- NamePool used to expand any names appearing in the expressionout
- Output destination