public abstract class ComponentCode<T extends ComponentCode> extends Object implements InstructionInfo
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 |
---|
ComponentCode() |
Modifier and Type | Method and Description |
---|---|
void |
allocateAllBindingSlots(StylesheetPackage pack)
Allocate slot numbers to all the external component references in this component
|
protected static void |
allocateBindingSlotsRecursive(StylesheetPackage pack,
ComponentCode p,
Expression exp,
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() |
Component<T> |
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
|
Iterator<String> |
getProperties()
Get an iterator over all the properties available.
|
Object |
getProperty(String name)
Get the value of a particular property of the instruction.
|
String |
getPublicId()
Get the Public ID
|
RetainedStaticContext |
getRetainedStaticContext() |
SlotManager |
getStackFrameMap() |
abstract SymbolicName |
getSymbolicName()
Get the symbolic name of the component
|
String |
getSystemId()
Get the system ID.
|
Component<T> |
makeDeclaringComponent(Visibility visibility,
StylesheetPackage declaringPackage) |
Location |
saveLocation()
Get an immutable copy of this Location object.
|
void |
setBody(Expression body) |
void |
setDeclaredVisibility(Visibility visibility) |
void |
setDeclaringComponent(Component<T> 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(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<T> makeDeclaringComponent(Visibility visibility, StylesheetPackage declaringPackage)
public void allocateAllBindingSlots(StylesheetPackage pack)
pack
- the containing packageprotected static void allocateBindingSlotsRecursive(StylesheetPackage pack, ComponentCode p, Expression exp, 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(String systemId)
public Location getLocation()
public int getLineNumber()
Location
getLineNumber
in interface SourceLocator
getLineNumber
in interface Location
getLineNumber
in interface Locator
public 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 SourceLocator
getSystemId
in interface Location
getSystemId
in interface Locator
public int getColumnNumber()
Location
getColumnNumber
in interface SourceLocator
getColumnNumber
in interface Location
getColumnNumber
in interface Locator
public String getPublicId()
Location
getPublicId
in interface SourceLocator
getPublicId
in interface Location
getPublicId
in interface Locator
public Location saveLocation()
Location
saveLocation
in interface Location
public void setRetainedStaticContext(RetainedStaticContext rsc)
public RetainedStaticContext getRetainedStaticContext()
public Object getProperty(String name)
InstructionInfo
getProperty
in interface InstructionInfo
name
- The name of the required propertypublic void setDeclaredVisibility(Visibility visibility)
public Visibility getDeclaredVisibility()
public Iterator<String> getProperties()
getProperties
in interface InstructionInfo
public abstract int getComponentKind()
StandardNames.XSL_FUNCTION
public abstract void export(ExpressionPresenter presenter)
presenter
- the expression presenter used to generate the XML representation of the structureCopyright (c) 2004-2014 Saxonica Limited. All rights reserved.