CompiledOperation is the type of all XMF compiled operations. A compiled
operation can be invoked using 'invoke/2' or by applying it to its arguments.
A compiled operation consists of machine code instructions. A compiled
operation may be associated with its source code to aid debugging.
Operations |
addDaemon(daemon:Element):Element |
Add a daemon to the operation. Any state changes to
the operation causes the daemon to fire.
|
addNameChangedDaemon(d:Element,actionSource:Element):Element |
Use this operation to add a daemon that monitors the name of
a compiled operation for changes. The args for the daemon are
the new name and the old name.
|
arity():Integer |
Returns the number of arguments expected by the operation.
|
break():Element |
Causes the operation to enter a break-loop when it is called.
|
codeBox():Element |
Returns the code-box for the operation. The code-box
contains the static part of the operation.
|
daemons():Seq(Operation) |
Return all the daemons for the operation.
|
dependencies():Set(Element) |
Calculate the set of name-spaces tht this operation relies on.
|
disassemble(out:Element,indent:Element):Element | No Documentation Specified |
disassemble():String | No Documentation Specified |
doc():Element | No Documentation Specified |
dynamics():Element |
Returns the imported name-spaces and gobl variables for this
operation. The dynamics are a sequence of pairs where the
head of each pair is a tag (1 or 2) and the tail is either
a binding or a table of bindings. Usually, a table of bindings
will be the contents table of a name-space.
|
fire(slot:Element,newValue:Element,oldValue:Element):Element | No Documentation Specified |
get(name:String):Element |
Handles access to the state of a compiled-operation as
though the operation is an object.
|
getStructuralFeatureNames():Set(String) | No Documentation Specified |
globalValues():Seq(Element) | No Documentation Specified |
globals():Element |
Returns the closed-in variable storage for the operation.
The storage is a linked-list of vectors. The first vector
is local to the operation. The rest of the vectors are the
storage for lexically enclosing operations. The linked list
is implemented as vector pairs.
|
hasProperty(property:Element):Boolean | No Documentation Specified |
hasSlot(name:String):Boolean | No Documentation Specified |
importNameSpace(n:NameSpace):Element |
Imports the supplied name space and its contents to the
receiver. If the name space is already imported then no
change is made. Otherwise the name space is added as the
most specific imported name space.
|
importNameSpaces(N:Seq(NameSpace)):Element |
Import all the supplied name-spaces into the
operation.
|
imports(n:NameSpace):Boolean |
Returns true when the receiver imports the supplied
name space.
|
imports():Seq(Element) |
Returns all of the name-spaces that the operation
imports in most-specific to least-specific order.
|
init():Element | No Documentation Specified |
isVarArgs():Boolean |
If a compiled operation has variable arguments then it may
be supplied with more than the required positional args. The
rest of the arguments are processed by building a sequence
from them and supplying the sequence as the value of the
last argument.
|
lift():Performable | No Documentation Specified |
locals():Integer |
The number of locals required when the compiled operation
is called. Does not include the arguments.
|
name():Symbol | No Documentation Specified |
newListenerFor(class:Classifier):Element | No Documentation Specified |
owner():Element | No Documentation Specified |
paramNames():Seq(String) |
Returns the sequence of parameter names for the
operation.
|
paramTypes():Seq(Classifier) |
Returns the sequence of parameter types that
were declared for the operation.
|
parserImports():Seq(NameSpace) | No Documentation Specified |
properties():Element |
Get the properties of the operation. The properties
are pairs of the form Seq{NAME | VALUE}.
|
property(property:Element):Element |
Returns the value of the supplied property or
null if no property is defined.
|
removeDaemon(daemon:Element,target:Element):Element | No Documentation Specified |
removeNameSpace(n:NameSpace):Element |
Removes the supplied name space from the receiver so that
it no longer imports all the names defined by the name
space.
|
set(name:String,value:Element):Element |
Use set to treat the state of the compiled operation as
an object.
|
setArity(arity:Element):Element | No Documentation Specified |
setCodeBox(codeBox:Element):Element | No Documentation Specified |
setDaemons(daemons:Element):Element | No Documentation Specified |
setDoc(doc:Element):Element | No Documentation Specified |
setDynamics(dynamics:Element):Element | No Documentation Specified |
setGlobals(globals:Element):Element | No Documentation Specified |
setName(name:Element):Element | No Documentation Specified |
setOwner(owner:Element):Element | No Documentation Specified |
setProperties(properties:Element):Element | No Documentation Specified |
setProperty(property:Element,value:Element):Element |
Set the property value. The property is created if
necessary.
|
setSig(sig:Element):Element | No Documentation Specified |
setSource(source:String):Element | No Documentation Specified |
setSupers(supers:Element):Element | No Documentation Specified |
setTarget(target:Element):Element | No Documentation Specified |
setTraced(trace:Element):Element | No Documentation Specified |
sig():Element |
Returns the signature of the operation. This is a
sequence of the parameters and the return type. The
parameters are encoded as pairs being the name and
the type. The signature types are encoded and can be
decoded by Classifier::mapType.
|
source():String | No Documentation Specified |
supers():Element | No Documentation Specified |
target():Element | No Documentation Specified |
toString():String | No Documentation Specified |
trace():Element |
Sets the operation to be traced. The operation prints out
debugging information when it is entered and exited. Note
that tracing is implemented by setting the traced slot of
the operation to a special operation that the VM will call
as a proxy.
|
traced():Boolean | No Documentation Specified |
type():Classifier | No Documentation Specified |
untrace():Element | No Documentation Specified |
From Operation: javaTypeName, deployJava, signatureArgs, populate, unbreak, untrace, traceFun, traced, trace, target, supers, source, sig, setTarget, setSupers, setGlobals, setDynamics, paramNames, name, matchesTarget, matchesSignature, matchesId, isKindOf, invokes, invoke, invoke, globals, fork, fork, dynamics, breakFun, break, arity. From DocumentedElement: setDoc, doc, ensureDoc. From NamedElement: href, toString, setName, repopulate, pathSeq, path, name, getNamedElement. From Contained: owner, deleteRecursive, allOwners, addTo, setOwner, removeFromOwner. From Object: slotMissing, slotMissing, setProperty, setHotLoad, setDaemonsActive, setDaemons, set, renameSlot, removeStructuralFeature, removeDaemonsWithTarget, removeDaemonsWithId, removeDaemonNamed, removeDaemon, machineInit, initSlots, init, hotLoaded, hotLoad, hasSlot, hasProperty, getProperty, get, hasStructuralFeature, getStructuralFeatureNames, hasDaemonWithTarget, hasDaemonWithIdAndTarget, hasDaemonWithId, hasDaemonNamed, fire, destroyDaemon, daemonWithIdAndTarget, daemonWithId, daemonNamed, daemonsActive, daemons, allDaemonsWithTarget, allDaemonsWithId, compositeValues, allCompositeValuesAndSelf, allCompositeValues, addStructuralFeature, addPersistentDaemon, addMultiDaemon, addDaemon. From Element: pprint, pprint, pprint, writeXMLFile, writeXMLFile, writeXML, lift, toSnapshot, toSnapshot, allHTMLEntries, allHTMLPackages, toHTML, writeHTML, writeHTML, writeHTMLAllEntries, writeHTMLAllPackages, writeHTMLIndex, writeHTMLOverview, yield, toString, systemId, setOf, send, save2, save, removeDaemon, removeDaemon, println, print, oclIsKindOf, oclIsTypeOf, noOperationFound, isTypeOf, isReallyKindOf, init, init, of, isKindOf, addTo, checkConstraints, copy, deleteRecursive, die, edit, equals, error, ferror, hashCode.
|