public abstract class Actor extends java.lang.Object implements InstructionInfo, ExpressionOwner
It is assumed that type-checking, of both the arguments and the results, has been handled at compile time. That is, the expression supplied as the body of the function must be wrapped in code to check or convert the result to the required type, and calls on the function must be wrapped at compile time to check or convert the supplied arguments.
Modifier and Type | Field and Description |
---|---|
protected Expression |
body |
Constructor and Description |
---|
Actor() |
Modifier and Type | Method and Description |
---|---|
void |
allocateAllBindingSlots(StylesheetPackage pack)
Allocate slot numbers to all the external component references in this component
|
static void |
allocateBindingSlotsRecursive(StylesheetPackage pack,
Actor p,
Expression exp,
java.util.List<ComponentBinding> bindings) |
abstract void |
export(ExpressionPresenter presenter)
Export expression structure.
|
Expression |
getBody() |
int |
getColumnNumber()
Get the column number.
|
abstract int |
getComponentKind()
Get the kind of component that this represents, using integer constants such as
StandardNames.XSL_FUNCTION |
Visibility |
getDeclaredVisibility()
Get the visibility of the component as defined using its actual @visibility attribute
|
Component |
getDeclaringComponent() |
int |
getLineNumber()
Get the line number.
|
Location |
getLocation() |
PackageData |
getPackageData()
Get basic data about the unit of compilation (XQuery module, XSLT package) to which this
container belongs
|
java.util.Iterator<java.lang.String> |
getProperties()
Get an iterator over all the properties available.
|
java.lang.Object |
getProperty(java.lang.String name)
Get the value of a particular property of the instruction.
|
java.lang.String |
getPublicId()
Get the Public ID
|
RetainedStaticContext |
getRetainedStaticContext() |
SlotManager |
getStackFrameMap() |
abstract SymbolicName |
getSymbolicName()
Get the symbolic name of the component
|
java.lang.String |
getSystemId()
Get the system ID.
|
boolean |
isExportable() |
Component |
makeDeclaringComponent(Visibility visibility,
StylesheetPackage declaringPackage) |
Component |
obtainDeclaringComponent(StyleElement declaration)
Return the declaring component, creating it if it does not already exist.
|
Location |
saveLocation()
Get an immutable copy of this Location object.
|
void |
setBody(Expression body) |
void |
setChildExpression(Expression expr) |
void |
setDeclaredVisibility(Visibility visibility)
Set the visibility of the component as defined using its actual @visibility attribute
|
void |
setDeclaringComponent(Component comp) |
void |
setLineNumber(int lineNumber) |
void |
setPackageData(PackageData packageData)
Set basic data about the unit of compilation (XQuery module, XSLT package) to which this
procedure belongs
|
void |
setRetainedStaticContext(RetainedStaticContext rsc) |
void |
setStackFrameMap(SlotManager map) |
void |
setSystemId(java.lang.String systemId) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getConstructType, getObjectName
protected Expression body
public abstract SymbolicName getSymbolicName()
public void setPackageData(PackageData packageData)
packageData
- information about the containing packagepublic PackageData getPackageData()
public Component makeDeclaringComponent(Visibility visibility, StylesheetPackage declaringPackage)
public Component obtainDeclaringComponent(StyleElement declaration)
declaration
- The source element in the stylesheet corresponding to the componentpublic Component getDeclaringComponent()
public void setDeclaringComponent(Component comp)
public void allocateAllBindingSlots(StylesheetPackage pack)
pack
- the containing packagepublic static void allocateBindingSlotsRecursive(StylesheetPackage pack, Actor p, Expression exp, java.util.List<ComponentBinding> bindings)
public void setBody(Expression body)
public final Expression getBody()
public void setStackFrameMap(SlotManager map)
public SlotManager getStackFrameMap()
public void setLineNumber(int lineNumber)
public void setSystemId(java.lang.String systemId)
public Location getLocation()
public int getLineNumber()
Location
getLineNumber
in interface javax.xml.transform.SourceLocator
getLineNumber
in interface Location
getLineNumber
in interface org.xml.sax.Locator
public java.lang.String getSystemId()
Location
The system identifier of a node is in general not the same as its base URI. The base URI is affected by xml:base attributes; the system identifier is not.
getSystemId
in interface javax.xml.transform.SourceLocator
getSystemId
in interface Location
getSystemId
in interface org.xml.sax.Locator
public int getColumnNumber()
Location
getColumnNumber
in interface javax.xml.transform.SourceLocator
getColumnNumber
in interface Location
getColumnNumber
in interface org.xml.sax.Locator
public java.lang.String getPublicId()
Location
getPublicId
in interface javax.xml.transform.SourceLocator
getPublicId
in interface Location
getPublicId
in interface org.xml.sax.Locator
public Location saveLocation()
Location
saveLocation
in interface Location
public void setRetainedStaticContext(RetainedStaticContext rsc)
public RetainedStaticContext getRetainedStaticContext()
public java.lang.Object getProperty(java.lang.String name)
InstructionInfo
getProperty
in interface InstructionInfo
name
- The name of the required propertypublic void setDeclaredVisibility(Visibility visibility)
visibility
- the actual declared visibility; null if the visibility attribute is absentpublic Visibility getDeclaredVisibility()
public java.util.Iterator<java.lang.String> getProperties()
getProperties
in interface InstructionInfo
public abstract int getComponentKind()
StandardNames.XSL_FUNCTION
public abstract void export(ExpressionPresenter presenter) throws XPathException
presenter
- the expression presenter used to generate the XML representation of the structureXPathException
public boolean isExportable()
public void setChildExpression(Expression expr)
setChildExpression
in interface ExpressionOwner
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.