|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |
Uses of ATObject in edu.vub.at |
Classes in edu.vub.at that implement ATObject | |
class |
OBJUnit
OBJUnit is a preliminary version of a unit test framework to be used in AmbientTalk. |
Methods in edu.vub.at that return ATObject | |
static ATObject |
AmbientTalkTest.evalSnippet(java.lang.Class forTestClass,
java.lang.String name,
ATContext inContext)
Loads and evaluates the content of a code snippet file and returns the resulting AmbientTalk ATObject. |
ATObject |
AmbientTalkTest.evalAndReturn(java.lang.String input)
|
ATObject |
AmbientTalkTest.evalInActor(java.lang.String input)
|
ATObject |
OBJUnit.meta_evaluate(ATText source)
|
ATObject |
OBJUnit.base_unittest_(ATClosure code)
The unittest: primitive, implemented as base-level code. |
Methods in edu.vub.at with parameters of type ATObject | |
void |
AmbientTalkTest.evalAndCompareTo(java.lang.String input,
ATObject output)
|
void |
AmbientTalkTest.printedEquals(ATObject input,
java.lang.String expected)
|
NATNil |
OBJUnit.base_echo_(ATObject message)
|
NATNil |
OBJUnit.base_assert_equals_(ATObject expected,
ATObject actual)
|
NATNil |
OBJUnit.base_assert_evaluatesTo(ATText source,
ATObject expected)
|
NATNil |
OBJUnit.base_assert_printsTo(ATText source,
ATObject expected)
|
Uses of ATObject in edu.vub.at.actors |
Subinterfaces of ATObject in edu.vub.at.actors | |
interface |
ATActorMirror
|
interface |
ATAsyncMessage
Instances of the class ATAsyncMessage represent first-class asynchronous message sends. |
interface |
ATFarReference
ATFarReference is an object reference denoting an object hosted by another actor. |
interface |
ATMailbox
A mailbox is a special kind of table object used to buffer asynchronous messages |
interface |
ATObservable
|
Methods in edu.vub.at.actors that return ATObject | |
ATObject |
ATMailbox.base_enqueue(ATObject value)
|
ATObject |
ATMailbox.base_dequeue()
|
ATObject |
ATAsyncMessage.base_getSender()
Signifies the object on behalf of which this asynchronous message is sent. |
ATObject |
ATAsyncMessage.base_getReceiver()
Messages also have an explicitly named receiver, which may either be a local object, or a representative of an object inside another actor. |
ATObject |
ATAsyncMessage.base_process(ATActorMirror inActor)
This method is responsible for processing the message in a certain actor. |
ATObject |
ATActorMirror.base_send(ATAsyncMessage message)
This method implements the default asynchronous message sending semantics for this particular actor. |
ATObject |
ATActorMirror.base_provide(ATStripe topic,
ATObject service)
This mechanism is the most basic mechanism to provide a service. |
ATObject |
ATActorMirror.base_require(ATStripe topic,
ATClosure handler,
ATBoolean bool)
This mechanism is the most basic mechanism to require a service. |
ATObject |
ATActorMirror.base_install_(ATClosure code)
def protocol := install: { code } Installs a meta-object protocol into this actor. |
Methods in edu.vub.at.actors with parameters of type ATObject | |
ATObject |
ATMailbox.base_enqueue(ATObject value)
|
ATAsyncMessage |
ATActorMirror.base_createMessage(ATObject sender,
ATSymbol selector,
ATTable arguments)
Creates a first-class message in the language. |
ATObject |
ATActorMirror.base_provide(ATStripe topic,
ATObject service)
This mechanism is the most basic mechanism to provide a service. |
Uses of ATObject in edu.vub.at.actors.natives |
Classes in edu.vub.at.actors.natives that implement ATObject | |
class |
NATActorMirror
The NATActorMirror class implements the concurrency model of ambienttalk. |
static class |
NATActorMirror.NATProtocol
A protocol object is defined as: object: { def installedMirror := //the installed actor mirror; def uninstall() { //uninstall the protocol object } } |
static class |
NATActorMirror.NATPublication
A publication object is defined as: object: { def topic := //topic under which service is published; def service := //the exported service object; def cancel() { //unexport the service object } } |
static class |
NATActorMirror.NATSubscription
A subscription object is defined as: object: { def topic := //topic subscribed to; def handler := //the closure to be triggered; def cancel() { //unsubscribe the handler } } |
class |
NATAsyncMessage
Instances of the class NATAsyncMessage represent first-class asynchronous messages. |
class |
NATFarReference
NATFarReference is the root of the native classes that represent native far references. |
static class |
NATFarReference.NATDisconnectionSubscription
|
static class |
NATFarReference.NATReconnectionSubscription
|
class |
NATLocalFarRef
Instances of NATLocalFarRef denote far references to objects 'local' to this address space. |
class |
NATRemoteFarRef
Instances of NATRemoteFarRef represent far references to physically remote actors. |
Fields in edu.vub.at.actors.natives declared as ATObject | |
private ATObject |
ELActor.behaviour_
|
ATObject |
DiscoveryManager.Subscription.deserializedHandler_
|
Methods in edu.vub.at.actors.natives that return ATObject | |
abstract ATObject |
SharedActorField.initialize()
Hook to be overridden in order to initialize the field which should be installed in every actor's lexical root object. |
ATObject |
ReceptionistsSet.resolveObject(ATObjectID objectId,
ATStripe[] stripes)
Try to resolve a remote object reference into a local (near) reference. |
ATObject |
Packet.unpack()
|
protected ATObject |
NATRemoteFarRef.transmit(ATAsyncMessage message)
|
protected ATObject |
NATLocalFarRef.transmit(ATAsyncMessage passedMessage)
|
ATObject |
NATFarReference.meta_resolve()
After deserialization, ensure that only one unique remote reference exists for my target. |
ATObject |
NATFarReference.meta_receive(ATAsyncMessage message)
|
protected abstract ATObject |
NATFarReference.transmit(ATAsyncMessage passedMessage)
|
ATObject |
NATFarReference.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
|
ATObject |
NATFarReference.meta_doesNotUnderstand(ATSymbol selector)
|
ATObject |
NATFarReference.meta_clone()
References to objects hosted by another actor are forced to be unique. |
ATObject |
NATFarReference.meta_newInstance(ATTable initargs)
Cannot create a new instance using a farObject, this should be done either by sending rather than invoking new(args) such that the correct method is triggered or by invoking newInstance on a farMirror, which will send the call as well. |
ATObject |
NATFarReference.meta_extend(ATClosure code)
TODO(discuss) Think about extending objects of another actor. |
ATObject |
NATFarReference.meta_share(ATClosure code)
TODO(discuss) Think about sharing objects of another actor. |
ATObject |
NATFarReference.meta_select(ATObject receiver,
ATSymbol selector)
|
ATObject |
NATFarReference.meta_lookup(ATSymbol selector)
|
ATObject |
NATFarReference.meta_getDynamicParent()
|
ATObject |
NATFarReference.meta_getLexicalParent()
|
ATObject |
NATAsyncMessage.base_getSender()
|
ATObject |
NATAsyncMessage.base_getReceiver()
|
ATObject |
NATAsyncMessage.base_process(ATActorMirror inActor)
|
ATObject |
NATAsyncMessage.base_sendTo(ATObject receiver,
ATObject sender)
To evaluate an asynchronous message send, an asynchronous invoke is performed on the receiver object. |
ATObject |
NATActorMirror.base_provide(ATStripe topic,
ATObject service)
|
ATObject |
NATActorMirror.base_require(ATStripe topic,
ATClosure handler,
ATBoolean isPermanent)
|
ATObject |
NATActorMirror.meta_clone()
|
ATObject |
NATActorMirror.meta_newInstance(ATTable initargs)
actor.new(closure) => same effect as evaluating 'actor: closure' |
ATObject |
NATActorMirror.meta_send(ATAsyncMessage msg)
To send a message msg to a receiver object rcv: - if rcv is a local reference, schedule accept(msg) in my incoming event queue - if rcv is a far reference, schedule msg in far reference's outbox |
ATObject |
NATActorMirror.meta_receive(ATAsyncMessage msg)
|
ATObject |
NATActorMirror.base_send(ATAsyncMessage message)
When default base-level objects send an asynchronous message, they delegate this responsibility to their actor by means of this base-level method. |
ATObject |
NATActorMirror.base_install_(ATClosure code)
def install: { code } |
ATObject |
ELActor.resolve(ATObjectID id,
ATStripe[] stripes)
Resolve the given object id into a local reference. |
ATObject |
ELActor.sync_event_eval(ATAbstractGrammar ast)
This method should only be used for purposes such as the IAT shell or unit testing. |
Methods in edu.vub.at.actors.natives with parameters of type ATObject | |
NATLocalFarRef |
ReceptionistsSet.exportObject(ATObject object)
Export a local object such that it now has a unique global identifier which can be distributed to other actors. |
void |
ReceptionistsSet.addClient(ATObject service,
ATFarReference client)
Invoked whenever another actor is passed a reference to an object offering a service on this actor. |
void |
ReceptionistsSet.removeClient(ATObject service,
ATFarReference client)
Called upon the collection of a service on a remote device, or possibly when the conditions negotiated for the use of the service (e.g. its lease period) have expired. |
ATObject |
NATFarReference.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
|
ATObject |
NATFarReference.meta_select(ATObject receiver,
ATSymbol selector)
|
ATNil |
NATFarReference.meta_defineField(ATSymbol name,
ATObject value)
|
ATNil |
NATFarReference.meta_assignField(ATObject receiver,
ATSymbol name,
ATObject value)
|
ATNil |
NATFarReference.meta_assignVariable(ATSymbol name,
ATObject value)
|
ATBoolean |
NATFarReference.meta_isCloneOf(ATObject original)
|
ATBoolean |
NATFarReference.meta_isRelatedTo(ATObject object)
|
ATObject |
NATAsyncMessage.base_sendTo(ATObject receiver,
ATObject sender)
To evaluate an asynchronous message send, an asynchronous invoke is performed on the receiver object. |
ATAsyncMessage |
NATActorMirror.base_createMessage(ATObject sender,
ATSymbol selector,
ATTable arguments)
|
ATObject |
NATActorMirror.base_provide(ATStripe topic,
ATObject service)
|
void |
ELFarReference.addDisconnectionListener(ATObject listener)
|
void |
ELFarReference.addReconnectionListener(ATObject listener)
|
void |
ELFarReference.removeDisconnectionListener(ATObject listener)
|
void |
ELFarReference.removeReconnectionListener(ATObject listener)
|
NATLocalFarRef |
ELActor.export(ATObject object)
Export the given local object such that it is now remotely accessible via the returned object id. |
void |
DiscoveryManager.notifyOfExternalPublication(ATStripe pubTopic,
ATObject remoteService)
When a remote VM hears the request of the local VM for services it requires, it returns its own matching services, using a CMDJoinServices command. |
private void |
DiscoveryManager.notify(ATObject handler,
ATObject service)
Performs handler<-apply([ service ]) |
Constructors in edu.vub.at.actors.natives with parameters of type ATObject | |
Packet(java.lang.String description,
ATObject object)
|
|
Packet(ATObject object)
|
|
NATAsyncMessage(ATObject sender,
ATSymbol sel,
ATTable arg)
|
|
NATAsyncMessage(ATObject sdr,
ATObject rcv,
ATSymbol sel,
ATTable arg)
|
|
NATActorMirror.NATPublication(ELDiscoveryActor discoveryActor,
ATStripe topic,
ATObject service,
DiscoveryManager.Publication pub)
|
Uses of ATObject in edu.vub.at.actors.net |
Classes in edu.vub.at.actors.net that implement ATObject | |
class |
OBJNetwork
This class represents the singleton network object which provides methods to interface with AT/2's distribution layer. |
Methods in edu.vub.at.actors.net that return ATObject | |
ATObject |
OBJNetwork.meta_resolve()
After deserialization, ensure that the network object remains unique. |
Uses of ATObject in edu.vub.at.eval |
Fields in edu.vub.at.eval declared as ATObject | |
ATObject |
InvocationStack.InvocationFrame.receiver
|
Methods in edu.vub.at.eval with parameters of type ATObject | |
protected abstract void |
PartialBinder.bind(ATObject[] arguments,
ATContext inContext,
PartialBinder.BindClosure binder)
Bind the given actual arguments to the formal parameters encapsulated by this partial bind function. |
private static PartialBinder |
PartialBinder.makeMandatory(java.lang.String funnam,
ATObject[] formals)
- Mandatory (n 0 0) example: f(a,b) |
private static PartialBinder |
PartialBinder.makeMandatoryOptional(java.lang.String funnam,
ATObject[] formals,
int numMandatory,
int numOptional)
- MandatoryOptional (n m 0) example: f(a,b,c:=1) |
private static PartialBinder |
PartialBinder.makeOptional(java.lang.String funnam,
ATObject[] formals)
- Optional (0 m 0) example: f(a:=1,b:=2) |
private static PartialBinder |
PartialBinder.makeMandatoryVariable(java.lang.String funnam,
ATObject[] formals)
- MandatoryVariable (n 0 1) example: f(a,b,@rest) |
private static PartialBinder |
PartialBinder.makeOptionalVariable(java.lang.String funnam,
ATObject[] formals)
- OptionalVariable (0 m 1) example: f(a:=1,@rest) |
private static PartialBinder |
PartialBinder.makeGeneric(java.lang.String funnam,
ATObject[] formals,
int numMandatory,
int numOptional)
- Generic (n m 1) example: f(a,b:=1,@rest) |
void |
PartialBinder.BindClosure.bindParamToArg(ATObject inScope,
ATSymbol param,
ATObject arg)
|
void |
InvocationStack.methodInvoked(ATExpression methodInvocation,
ATObject receiver,
ATMessage message)
|
void |
InvocationStack.methodReturned(ATObject result)
|
void |
InvocationStack.funcallReturned(ATObject result)
|
static NATText |
Evaluator.printElements(ATObject[] els,
java.lang.String start,
java.lang.String sep,
java.lang.String stop)
Auxiliary function used to print the elements of a table using various separators. |
static java.lang.String |
Evaluator.toString(ATObject obj)
|
void |
Evaluator.BindClosure.bindParamToArg(ATObject inScope,
ATSymbol param,
ATObject arg)
|
Constructors in edu.vub.at.eval with parameters of type ATObject | |
InvocationStack.InvocationFrame(ATExpression inv,
ATObject rcvr,
ATTable args)
|
Uses of ATObject in edu.vub.at.exceptions |
Fields in edu.vub.at.exceptions declared as ATObject | |
ATObject |
XUserDefined.customException_
|
private ATObject |
XTypeMismatch.failedObject_
|
ATObject |
XSelectorNotFound.inObject_
|
Methods in edu.vub.at.exceptions that return ATObject | |
ATObject |
XUserDefined.getAmbientTalkRepresentation()
|
ATObject |
XTypeMismatch.getFailedObject()
|
ATObject |
InterpreterException.getAmbientTalkRepresentation()
|
Constructors in edu.vub.at.exceptions with parameters of type ATObject | |
XUserDefined(ATObject customException)
|
|
XTypeMismatch(java.lang.Class expectedType,
ATObject failedObject)
|
|
XSymbiosisFailure(java.lang.Object symbiont,
java.lang.String selector,
java.util.LinkedList choices,
ATObject[] atArgs)
Reports that an overloaded method could not be resolved to a unique implementation because there are multiple matches. |
|
XSymbiosisFailure(java.lang.Object symbiont,
java.lang.String selector,
ATObject[] atArgs)
Reports that an overloaded method could not be resolved to a unique implementation because there are no matches for any static types. |
|
XSymbiosisFailure(java.lang.Class failedClass,
java.lang.reflect.Constructor[] choices,
ATObject[] atArgs,
int numMatchingCtors)
Reports that an overloaded constructor could not be resolved to a unique implementation. |
|
XSelectorNotFound(ATSymbol selector,
ATObject inObject)
|
Uses of ATObject in edu.vub.at.exceptions.signals |
Fields in edu.vub.at.exceptions.signals declared as ATObject | |
ATObject |
SignalEscape.returnedValue
|
Constructors in edu.vub.at.exceptions.signals with parameters of type ATObject | |
SignalEscape(ATClosure originatingBlock,
ATObject returnedValue)
|
Uses of ATObject in edu.vub.at.objects |
Subinterfaces of ATObject in edu.vub.at.objects | |
interface |
ATAbstractGrammar
ATAbstractGrammar contains all methods to be understood by any parsetree element in the ambienttalk/2 programming language. |
interface |
ATBoolean
The ATBoolean interface is the public interface to a boolean object. |
interface |
ATClosure
The public interface to a native AmbientTalk closure (a method + enclosing environment). |
interface |
ATContext
ATContext describes a triplet of scope pointers used during evaluation, namely one for the lexical scope (where the lookup starts for receiverless messages), one for the late-bound receiver and one for the parent object. |
interface |
ATField
ATFields provide a mapping from an immutable name to a potentially mutable value. |
interface |
ATFraction
The public interface to a native AmbientTalk fraction (a floating point value). |
interface |
ATHandler
Instances of the class ATHandler represent first-class exception handlers which have a filter object, describing the kind of exceptions caught by the handler and a code block which acts as replacement code for the code that raised the exception. |
interface |
ATMessage
Instances of the class ATMessage represent first-class AmbientTalk asynchronous messages. |
interface |
ATMethod
ATMethods are ambienttalk's representation of methods as named functions. |
interface |
ATMethodInvocation
Instances of the class ATMethodInvocation represent first-class method invocations. |
interface |
ATMirror
ATMirror is an interface describing the additional behaviour exhibited by mirrors with respect to ordinary objects. |
interface |
ATNil
the native object representing 'nil' implements this interface. |
interface |
ATNumber
The public interface to an AmbientTalk native number (an integer value). |
interface |
ATNumeric
The common interface to both numbers and fractions. |
interface |
ATStripe
The public interface to a native stripe object. |
interface |
ATTable
The public interface to a native AmtientTalk table (an array). |
interface |
ATText
The public interface to a native AmbientTalk string (a string of characters). |
Methods in edu.vub.at.objects that return ATObject | |
ATObject |
ATMethod.base_apply(ATTable arguments,
ATContext ctx)
Applies the method to the given arguments in the given context. |
ATObject |
ATMethod.base_applyInScope(ATTable arguments,
ATContext ctx)
Applies the method to the given arguments in the given context. |
ATObject |
ATHandler.base_handle(ATObject anException)
When a handler has answered that it can handle an exception, the following method is invoked, asking the handler to handle the exception. |
ATObject |
ATBoolean.base_ifTrue_(ATClosure cons)
|
ATObject |
ATBoolean.base_ifFalse_(ATClosure alt)
|
ATObject |
ATBoolean.base_ifTrue_ifFalse_(ATClosure cons,
ATClosure alt)
|
ATObject |
ATMessage.base_sendTo(ATObject receiver,
ATObject sender)
Sends this message to a particular receiver object. |
ATObject |
ATField.base_readField()
|
ATObject |
ATObject.meta_send(ATAsyncMessage message)
Sends a newly created message asynchronously by this object. |
ATObject |
ATObject.meta_receive(ATAsyncMessage message)
Handles a first-class message of which it is the receiver. |
ATObject |
ATObject.meta_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
Invoke a method corresponding to the selector with the given arguments. |
ATObject |
ATObject.meta_doesNotUnderstand(ATSymbol selector)
Called when a selection fails because the selector was not found along the dynamic delegation hierarchy. |
ATObject |
ATObject.meta_pass()
Allows objects to specify how they should be passed when passed as an argument in a message sent to another actor. |
ATObject |
ATObject.meta_resolve()
When an object is deserialized after it has been passed to another actor, it is given a chance to tell the interpreter which object it represents. |
ATObject |
ATObject.meta_select(ATObject receiver,
ATSymbol selector)
Select a slot (field | method) from an object whose name corresponds to the given selector. |
ATObject |
ATObject.meta_lookup(ATSymbol selector)
Select a slot (field | method) from an object whose name corresponds to the given selector. |
ATObject |
ATObject.meta_clone()
Clone the receiver object. |
ATObject |
ATObject.meta_newInstance(ATTable initargs)
Create a new instance of the receiver object. |
ATObject |
ATObject.meta_extend(ATClosure code)
Create an is-a extension of the receiver object. |
ATObject |
ATObject.meta_share(ATClosure code)
Create a shares-a extension of the receiver object. |
ATObject |
ATObject.meta_getDynamicParent()
Objects have a classical dynamic parent chain created using extension primitives. |
ATObject |
ATObject.meta_getLexicalParent()
Objects also have a lexical parent which is the scope in which their definitions are nested. |
ATObject |
ATObject.meta_eval(ATContext ctx)
Evaluates a particular parsetree with respect to a particular context. |
ATObject |
ATObject.meta_quote(ATContext ctx)
Quotes a parsetree, in other words allows the parsetree to return itself instead of evaluating. |
ATObject |
ATObject.base_new(ATObject[] initargs)
The object instantiation method. |
ATObject |
ATObject.base_init(ATObject[] initargs)
The object initialisation method. |
ATObject |
ATContext.base_getLexicalScope()
Structural access to the lexical environment of the current context. |
ATObject |
ATContext.base_getSelf()
Structural access to the receiver (self pseudovariable) in the current context. |
ATObject |
ATTable.base_at(ATNumber index)
|
ATObject |
ATTable.base_atPut(ATNumber index,
ATObject value)
|
ATObject |
ATTable.base_with_collect_(ATObject init,
ATClosure clo)
Collect all elements of the table by combining them using the given closure. |
ATObject |
ATTable.base_find_(ATClosure clo)
Return the index of the first element for which the given predicate returns true. |
ATObject |
ATMirror.base_getBase()
Provides access to the AmbientTalk language value this mirror reflects upon. |
ATObject |
ATClosure.base_apply(ATTable args)
Applies the closure to the given arguments, already wrapped in a table. |
ATObject |
ATClosure.base_applyInScope(ATTable args,
ATObject scope)
Applies the closure to the given arguments, already wrapped in a table. |
ATObject |
ATClosure.base_whileTrue_(ATClosure body)
Allows AmbientTalk programmers to write { booleanCondition }.whileTrue: { body } which will execute body as long as the boolean condition evaluates to true. |
ATObject |
ATClosure.base_escape()
{ |quit| ... quit(val) ... }.escape() The escape control construct passes to its receiver block a function which when invoked, immediately transfers control back to the caller of escape, returning the value passed to quit. |
Methods in edu.vub.at.objects with parameters of type ATObject | |
ATBoolean |
ATHandler.base_canHandle(ATObject anException)
Used to determine whether a handler will be triggered when an exception is raised. |
ATObject |
ATHandler.base_handle(ATObject anException)
When a handler has answered that it can handle an exception, the following method is invoked, asking the handler to handle the exception. |
ATObject |
ATMessage.base_sendTo(ATObject receiver,
ATObject sender)
Sends this message to a particular receiver object. |
ATNil |
ATField.base_writeField(ATObject newValue)
Sets the value of the field if possible |
ATObject |
ATObject.meta_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
Invoke a method corresponding to the selector with the given arguments. |
ATObject |
ATObject.meta_select(ATObject receiver,
ATSymbol selector)
Select a slot (field | method) from an object whose name corresponds to the given selector. |
ATNil |
ATObject.meta_defineField(ATSymbol name,
ATObject value)
Defines a new field in an object. |
ATNil |
ATObject.meta_assignVariable(ATSymbol name,
ATObject value)
Sets the value of the variable to the given value. |
ATNil |
ATObject.meta_assignField(ATObject receiver,
ATSymbol name,
ATObject value)
Sets the value of a field to the given value. |
ATBoolean |
ATObject.meta_isRelatedTo(ATObject object)
Detects whether both objects have a common origin, in other words whether they are related through a combination of the cloning and extension operators. |
ATBoolean |
ATObject.meta_isCloneOf(ATObject original)
Detects whether this object an the passed parameter are the result of cloning from a common ancestor (possibly either one of the objects itself). |
ATBoolean |
ATObject.base__opeql__opeql_(ATObject other)
The pointer equality == operator. |
ATObject |
ATObject.base_new(ATObject[] initargs)
The object instantiation method. |
ATObject |
ATObject.base_init(ATObject[] initargs)
The object initialisation method. |
ATContext |
ATContext.base_withLexicalEnvironment(ATObject scope)
|
ATContext |
ATContext.base_withDynamicReceiver(ATObject self)
|
ATObject |
ATTable.base_atPut(ATNumber index,
ATObject value)
|
ATObject |
ATTable.base_with_collect_(ATObject init,
ATClosure clo)
Collect all elements of the table by combining them using the given closure. |
ATText |
ATText.base__oppls_(ATObject other)
|
ATObject |
ATClosure.base_applyInScope(ATTable args,
ATObject scope)
Applies the closure to the given arguments, already wrapped in a table. |
Uses of ATObject in edu.vub.at.objects.coercion |
Methods in edu.vub.at.objects.coercion with parameters of type ATObject | |
static java.lang.Object |
Coercer.coerce(ATObject object,
java.lang.Class type)
|
Uses of ATObject in edu.vub.at.objects.grammar |
Subinterfaces of ATObject in edu.vub.at.objects.grammar | |
interface |
ATApplication
|
interface |
ATAssignField
|
interface |
ATAssignment
|
interface |
ATAssignTable
|
interface |
ATAssignVariable
|
interface |
ATAsyncMessageCreation
An ATAsyncMessageCreation instance is created whenever an asynchronous message send o <- m() is performed, or when a first-class async msg is created using code such as <- m(). |
interface |
ATBegin
|
interface |
ATClosureLiteral
|
interface |
ATDefExternalField
|
interface |
ATDefExternalMethod
|
interface |
ATDefField
|
interface |
ATDefinition
|
interface |
ATDefMethod
|
interface |
ATDefStripe
The public interface to a stripe definition abstract grammar element. |
interface |
ATDefTable
|
interface |
ATExpression
|
interface |
ATMessageCreation
|
interface |
ATMessageSend
|
interface |
ATMethodInvocationCreation
|
interface |
ATMultiAssignment
|
interface |
ATMultiDefinition
|
interface |
ATQuote
|
interface |
ATSelection
|
interface |
ATSplice
|
interface |
ATStatement
|
interface |
ATSymbol
|
interface |
ATTabulation
|
interface |
ATUnquote
|
interface |
ATUnquoteSplice
|
Methods in edu.vub.at.objects.grammar with parameters of type ATObject | |
ATTable |
ATSymbol.base__opmns__opgtx_(ATObject obj)
Used during import: declarations to conveniently denote aliases for names. |
Uses of ATObject in edu.vub.at.objects.mirrors |
Classes in edu.vub.at.objects.mirrors that implement ATObject | |
class |
NATIntercessiveMirror
NATIntercessiveMirror extends the default NATIntrospectiveMirror to also allow programmers to supply their own code for the meta-operations defined on an object. |
class |
NATIntrospectiveMirror
NATIntrospectiveMirror is a default mirror to represent an ambienttalk object which is capable of offering the java meta-interface of any language value at the ambienttalk level. |
class |
NativeAnonymousMethod
A NativeAnonymousMethod represents the meta_apply method of an anonymous NativeClosure subclass. |
class |
NativeClosure
A NativeClosure is a wrapper class for a piece of Java code. |
class |
NativeField
Native Fields are represented in our reflective implementation as a pair of accessor and mutator methods in the class of the native AmbientTalk object. |
class |
NativeMethod
A NativeMethod is a wrapper around a Java method allowing it to be selected from native base-level objects and passed around as an ordinary object. |
class |
NATMirage
A NATMirage is an object that forwards all meta-operations invoked upon it (at the java-level) to its designated mirror object. |
class |
OBJMirrorRoot
OBJMirrorRoot is a singleton which is shared by as a parent by all NATIntercessiveMirrors, It encodes the default behaviour to deal with invocation, selection and field assignment along the dynamic parent chain. |
class |
PrimitiveMethod
A primitive method is the equivalent of a NativeClosure but for methods rather than closures. |
Fields in edu.vub.at.objects.mirrors declared as ATObject | |
protected ATObject |
ReflectiveAccessTest.lexicalRoot
|
private ATObject |
NativeField.host_
The AmbientTalk native object to which this field belongs |
protected ATObject |
NativeClosure.scope_
|
private ATObject |
NATIntrospectiveMirror.principal_
the object reflected on. |
Methods in edu.vub.at.objects.mirrors that return ATObject | |
static ATObject |
Reflection.downInvocation(ATObject atRcvr,
java.lang.reflect.Method jMethod,
ATObject[] jArgs)
downInvocation takes an implicit Java invocation and turns it into an explicit AmbientTalk invocation process. |
static ATObject |
Reflection.upInvocation(ATObject atOrigRcvr,
java.lang.String jSelector,
ATTable atArgs)
upInvocation takes an explicit AmbientTalk method invocation and turns it into an implicitly performed Java invocation. |
static ATObject |
Reflection.upFieldSelection(ATObject atOrigRcvr,
java.lang.String jSelector)
upFieldSelection takes an explicit AmbientTalk field selection and turns it into an implicitly performed Java selection by invoking a getter method, if such a getter method exists. |
static ATObject |
Reflection.upFieldAssignment(ATObject atOrigRcvr,
java.lang.String jSelector,
ATObject value)
upFieldAssignment takes an explicit AmbientTalk field assignment and turns it into an implicitly performed Java field assignment by invoking a mutator method, if such a method exists. |
static ATObject |
Reflection.upInstanceCreation(ATObject jRcvr,
ATTable atInitargs)
upInstanceCreation takes an explicit AmbientTalk 'new' invocation and turns it into an implicit Java instance creation by calling a constructor. |
static ATObject |
Reflection.upExceptionCreation(InterpreterException jRcvr,
ATTable atInitargs)
|
static ATObject |
Reflection.downObject(ATObject metaObject)
Pass an AmbientTalk meta-level object into the base-level |
static ATObject |
Reflection.upObject(ATObject baseObject)
Pass an AmbientTalk base-level object to the meta-level |
abstract ATObject |
PrimitiveMethod.base_apply(ATTable arguments,
ATContext ctx)
|
ATObject |
PrimitiveMethod.base_applyInScope(ATTable arguments,
ATContext ctx)
|
ATObject |
OBJMirrorRoot.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
The effect of invoking methods on a mirror (through meta_invoke) consists of checking whether the requested functionality is provided as a meta-operation by the principal that is wrapped by this mirror. |
ATObject |
OBJMirrorRoot.meta_clone()
OBJMirrorRoot is a singleton object. |
protected ATObject |
OBJMirrorRoot.createChild(ATClosure code,
boolean parentPointerType)
|
ATObject |
OBJMirrorRoot.meta_select(ATObject receiver,
ATSymbol atSelector)
The effect of selecting fields or methods on a mirror (through meta_select) consists of checking whether the requested selector matches a field of the principal wrapped by this mirror. |
ATObject |
OBJMirrorRoot.meta_resolve()
After deserialization, ensure that the mirror root remains unique. |
ATObject |
NATMirage.magic_extend(ATClosure code)
|
ATObject |
NATMirage.magic_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
|
ATObject |
NATMirage.magic_lookup(ATSymbol selector)
|
ATObject |
NATMirage.magic_newInstance(ATTable initargs)
|
ATObject |
NATMirage.magic_select(ATObject receiver,
ATSymbol selector)
|
ATObject |
NATMirage.magic_share(ATClosure code)
|
ATObject |
NATMirage.magic_doesNotUnderstand(ATSymbol selector)
|
ATObject |
NATMirage.magic_send(ATAsyncMessage message)
|
ATObject |
NATMirage.magic_eval(ATContext ctx)
|
ATObject |
NATMirage.magic_quote(ATContext ctx)
|
ATObject |
NATMirage.magic_getDynamicParent()
|
ATObject |
NATMirage.magic_getLexicalParent()
|
ATObject |
NATMirage.magic_pass()
|
ATObject |
NATMirage.magic_resolve()
|
ATObject |
NATMirage.meta_clone()
|
ATObject |
NATMirage.meta_extend(ATClosure code)
|
ATObject |
NATMirage.meta_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
|
ATObject |
NATMirage.meta_lookup(ATSymbol selector)
|
ATObject |
NATMirage.meta_newInstance(ATTable initargs)
|
ATObject |
NATMirage.meta_select(ATObject receiver,
ATSymbol selector)
|
ATObject |
NATMirage.meta_share(ATClosure code)
|
ATObject |
NATMirage.meta_doesNotUnderstand(ATSymbol selector)
|
ATObject |
NATMirage.meta_send(ATAsyncMessage message)
|
ATObject |
NATMirage.meta_eval(ATContext ctx)
|
ATObject |
NATMirage.meta_quote(ATContext ctx)
|
ATObject |
NATMirage.meta_getDynamicParent()
|
ATObject |
NATMirage.meta_getLexicalParent()
|
ATObject |
NATMirage.meta_pass()
|
ATObject |
NATMirage.meta_resolve()
|
ATObject |
NativeMethod.base_apply(ATTable arguments,
ATContext ctx)
|
ATObject |
NativeMethod.base_applyInScope(ATTable arguments,
ATContext ctx)
|
ATObject |
NativeField.base_readField()
|
ATObject |
NativeField.meta_newInstance(ATTable initargs)
Fields can be re-initialized when installed in an object that is being cloned. |
ATObject |
NativeClosure.base_apply(ATTable arguments)
Apply the NativeClosure, which either gives rise to executing a native piece of code supplied by an anonymous subclass, or executes the wrapped NativeMethod. |
ATObject |
NativeClosure.base_applyInScope(ATTable args,
ATObject scope)
A NativeClosure can also be directed to execute its wrapped NativeMethod in an externally specified scope. |
ATObject |
NativeClosure.get(ATTable args,
int n)
Auxiliary method to more easily extract arguments from an ATTable |
ATObject |
NativeAnonymousMethod.base_apply(ATTable arguments,
ATContext ctx)
It is an error to directly apply an anonymous method. |
ATObject |
NativeAnonymousMethod.base_applyInScope(ATTable arguments,
ATContext ctx)
|
ATObject |
NATIntrospectiveMirror.base_getBase()
|
ATObject |
NATIntrospectiveMirror.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
The effect of invoking methods on a mirror (through meta_invoke) consists of checking whether the requested functionality is provided as a meta-operation by the principal that is wrapped by this mirror. |
ATObject |
NATIntrospectiveMirror.meta_select(ATObject receiver,
ATSymbol atSelector)
The effect of selecting fields or methods on a mirror (through meta_select) consists of checking whether the requested selector matches a field of the principal wrapped by this mirror. |
ATObject |
NATIntrospectiveMirror.meta_clone()
We enforce the restriction that any object has but a single IntrospectiveMirror by returning the mirror itself when asked to clone. |
ATObject |
NATIntrospectiveMirror.meta_newInstance(ATTable init)
This method allows re-initialise a mirror object. |
ATObject |
NATIntercessiveMirror.base_getBase()
|
ATObject |
NATIntercessiveMirror.meta_clone()
|
protected ATObject |
NATIntercessiveMirror.createChild(ATClosure code,
boolean parentPointerType)
|
static ATObject |
JavaInterfaceAdaptor.invokeNativeATMethod(java.lang.Class jClass,
ATObject natReceiver,
java.lang.String jSelector,
ATObject[] jArguments)
Invokes a method on a Java object identified by a selector. |
static ATObject |
JavaInterfaceAdaptor.invokeNativeATMethod(java.lang.reflect.Method javaMethod,
ATObject jReceiver,
ATObject[] jArguments)
Invokes a method on a native AmbientTalk object identified by a java.lang.reflect.Method object. |
static ATObject |
JavaInterfaceAdaptor.createNativeATObject(java.lang.Class jClass,
ATObject[] jInitArgs)
Try to create a new instance of a Java class given an array of initialization arguments. |
static ATObject |
JavaInterfaceAdaptor.primitiveJavaToATObject(java.lang.Object jObj)
|
Methods in edu.vub.at.objects.mirrors with parameters of type ATObject | |
static ATField |
Reflection.downField(ATObject natObject,
ATSymbol atSelector,
java.lang.String getPrefix,
java.lang.String setPrefix)
Constructs an AmbientTalk ATField from a pair of accessor/mutator methods of a Java object. |
static ATField |
Reflection.downBaseLevelField(ATObject natObject,
ATSymbol atSelector)
|
static ATField |
Reflection.downMetaLevelField(ATObject natObject,
ATSymbol atSelector)
|
static ATMethod |
Reflection.downMethod(ATObject natObject,
java.lang.String jSelector,
ATSymbol origName)
Constructs an AmbientTalk ATMethod from a Java method. |
static ATMethod |
Reflection.downBaseLevelMethod(ATObject natObject,
ATSymbol atSelector)
|
static ATMethod |
Reflection.downMetaLevelMethod(ATObject natObject,
ATSymbol atSelector)
|
static ATObject |
Reflection.downInvocation(ATObject atRcvr,
java.lang.reflect.Method jMethod,
ATObject[] jArgs)
downInvocation takes an implicit Java invocation and turns it into an explicit AmbientTalk invocation process. |
static ATObject |
Reflection.upInvocation(ATObject atOrigRcvr,
java.lang.String jSelector,
ATTable atArgs)
upInvocation takes an explicit AmbientTalk method invocation and turns it into an implicitly performed Java invocation. |
static boolean |
Reflection.upRespondsTo(ATObject jRcvr,
java.lang.String jSelector)
upRespondsTo transforms an explicit AmbientTalk respondsTo meta-level request into an implicit check whether the given jRcvr java object has a method corresponding to the given selector, prefixed with base_ |
static ATObject |
Reflection.upFieldSelection(ATObject atOrigRcvr,
java.lang.String jSelector)
upFieldSelection takes an explicit AmbientTalk field selection and turns it into an implicitly performed Java selection by invoking a getter method, if such a getter method exists. |
static ATObject |
Reflection.upFieldAssignment(ATObject atOrigRcvr,
java.lang.String jSelector,
ATObject value)
upFieldAssignment takes an explicit AmbientTalk field assignment and turns it into an implicitly performed Java field assignment by invoking a mutator method, if such a method exists. |
static NativeClosure |
Reflection.upMethodSelection(ATObject atOrigRcvr,
java.lang.String jSelector,
ATSymbol origSelector)
upMethodSelection takes an explicit AmbientTalk field selection and checks whether a Java method exists that matches the selector. |
static ATObject |
Reflection.upInstanceCreation(ATObject jRcvr,
ATTable atInitargs)
upInstanceCreation takes an explicit AmbientTalk 'new' invocation and turns it into an implicit Java instance creation by calling a constructor. |
static ATObject |
Reflection.downObject(ATObject metaObject)
Pass an AmbientTalk meta-level object into the base-level |
static ATObject |
Reflection.upObject(ATObject baseObject)
Pass an AmbientTalk base-level object to the meta-level |
static ATField[] |
Reflection.downBaseLevelFields(ATObject atObj)
Returns, for a given AmbientTalk object atObj, an array of NativeField objects corresponding to all non-static methods of that object's Java class, where each method's name is prefixed with 'base_get' |
static ATField[] |
Reflection.downMetaLevelFields(ATObject atObj)
Returns, for a given AmbientTalk object atObj, an array of NativeField objects corresponding to all non-static methods of that object's Java class, where each method's name is prefixed with 'meta_get' |
static ATMethod[] |
Reflection.downBaseLevelMethods(ATObject atObj)
Returns, for a given AmbientTalk object atObj, an array of NativeMethod objects corresponding to all non-static methods of that object's class, where each method's name: - is prefixed with 'base_' - is not prefixed with 'base_get' - is not prefixed with 'base_set' |
static ATMethod[] |
Reflection.downMetaLevelMethods(ATObject natObj)
Returns, for a given AmbientTalk object natObj, an array of NativeMethod objects corresponding to all non-static methods of that object's class, where each method's name: - is prefixed with 'meta_' - is not prefixed with 'meta_get' - is not prefixed with 'meta_set' |
ATObject |
OBJMirrorRoot.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
The effect of invoking methods on a mirror (through meta_invoke) consists of checking whether the requested functionality is provided as a meta-operation by the principal that is wrapped by this mirror. |
ATObject |
OBJMirrorRoot.meta_select(ATObject receiver,
ATSymbol atSelector)
The effect of selecting fields or methods on a mirror (through meta_select) consists of checking whether the requested selector matches a field of the principal wrapped by this mirror. |
ATNil |
OBJMirrorRoot.meta_assignField(ATObject receiver,
ATSymbol name,
ATObject value)
The effect of assigning a field on a mirror can be twofold. |
ATNil |
NATMirage.magic_assignField(ATObject receiver,
ATSymbol selector,
ATObject value)
|
protected NATObject |
NATMirage.createClone(FieldMap map,
java.util.Vector state,
java.util.LinkedList customFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes)
|
ATNil |
NATMirage.magic_defineField(ATSymbol name,
ATObject value)
|
ATObject |
NATMirage.magic_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
|
ATObject |
NATMirage.magic_select(ATObject receiver,
ATSymbol selector)
|
ATNil |
NATMirage.magic_assignVariable(ATSymbol name,
ATObject value)
|
ATNil |
NATMirage.meta_assignField(ATObject receiver,
ATSymbol selector,
ATObject value)
|
ATNil |
NATMirage.meta_defineField(ATSymbol name,
ATObject value)
|
ATObject |
NATMirage.meta_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
|
ATObject |
NATMirage.meta_select(ATObject receiver,
ATSymbol selector)
|
ATNil |
NATMirage.meta_assignVariable(ATSymbol name,
ATObject value)
|
ATNil |
NativeField.base_writeField(ATObject newValue)
|
ATObject |
NativeClosure.base_applyInScope(ATTable args,
ATObject scope)
A NativeClosure can also be directed to execute its wrapped NativeMethod in an externally specified scope. |
static ATMirror |
NATIntrospectiveMirror.atValue(ATObject objectRepresentation)
Return a mirror on the given native or custom AmbientTalk object. |
ATObject |
NATIntrospectiveMirror.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
The effect of invoking methods on a mirror (through meta_invoke) consists of checking whether the requested functionality is provided as a meta-operation by the principal that is wrapped by this mirror. |
ATObject |
NATIntrospectiveMirror.meta_select(ATObject receiver,
ATSymbol atSelector)
The effect of selecting fields or methods on a mirror (through meta_select) consists of checking whether the requested selector matches a field of the principal wrapped by this mirror. |
ATNil |
NATIntrospectiveMirror.meta_assignField(ATObject receiver,
ATSymbol name,
ATObject value)
The effect of assigning a field on a mirror can be twofold. |
protected NATObject |
NATIntercessiveMirror.createClone(FieldMap map,
java.util.Vector state,
java.util.LinkedList customFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes)
|
static ATObject |
JavaInterfaceAdaptor.invokeNativeATMethod(java.lang.Class jClass,
ATObject natReceiver,
java.lang.String jSelector,
ATObject[] jArguments)
Invokes a method on a Java object identified by a selector. |
static ATObject |
JavaInterfaceAdaptor.invokeNativeATMethod(java.lang.reflect.Method javaMethod,
ATObject jReceiver,
ATObject[] jArguments)
Invokes a method on a native AmbientTalk object identified by a java.lang.reflect.Method object. |
static ATObject |
JavaInterfaceAdaptor.createNativeATObject(java.lang.Class jClass,
ATObject[] jInitArgs)
Try to create a new instance of a Java class given an array of initialization arguments. |
static java.lang.reflect.Method |
JavaInterfaceAdaptor.getNativeATMethod(java.lang.Class baseInterface,
ATObject receiver,
java.lang.String methodName)
|
private static java.lang.Object[] |
JavaInterfaceAdaptor.coerceArguments(ATObject[] args,
java.lang.Class[] types)
|
static java.lang.Object |
JavaInterfaceAdaptor.atObjectToPrimitiveJava(ATObject atObj,
java.lang.Class type)
|
Constructors in edu.vub.at.objects.mirrors with parameters of type ATObject | |
NATMirage(ATObject lexicalParent,
NATIntercessiveMirror mirror)
|
|
NATMirage(ATObject dynamicParent,
ATObject lexicalParent,
NATIntercessiveMirror mirror,
boolean parentType)
|
|
NATMirage(FieldMap map,
java.util.Vector state,
java.util.LinkedList customFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes,
NATIntercessiveMirror mirror)
Constructs a new ambienttalk mirage as a clone of an existing one. |
|
NativeField(ATObject host,
ATSymbol name,
java.lang.reflect.Method accessor,
java.lang.reflect.Method mutator)
|
|
NativeClosure(ATObject scope)
Create a new NativeClosure where meta_apply will be overridden by anonymous subclasses. |
|
NativeClosure(ATObject scope,
NativeMethod meth)
Create a new NativeClosure where meta_apply will invoke the given Java Method. |
|
NATIntrospectiveMirror(ATObject representation)
An introspective mirror is a wrapper which forwards a deified (upped) version of invoked methods and field accesses to its principal. |
|
NATIntercessiveMirror(ATObject lexicalParent,
boolean parentType)
Constructs a new ambienttalk mirror based on a set of parent pointers. |
|
NATIntercessiveMirror(NATIntercessiveMirror dynamicParent,
ATObject lexicalParent,
boolean parentType)
Constructs a new ambienttalk mirror based on a set of parent pointers. |
|
NATIntercessiveMirror(FieldMap map,
java.util.Vector state,
java.util.LinkedList customFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes,
NATMirage base)
Constructs a new ambienttalk mirage as a clone of an existing one. |
Uses of ATObject in edu.vub.at.objects.natives |
Classes in edu.vub.at.objects.natives that implement ATObject | |
class |
NATBoolean
NATBoolean is simply a container class for ambienttalk booleans. |
static class |
NATBoolean.NATFalse
|
static class |
NATBoolean.NATTrue
|
class |
NATByCopy
This class is the abstract superclass of all AT/2 object types which should be passed by copy when passed as a parameter between actors. |
class |
NATByRef
This class is the abstract superclass of all AT/2 objects that require by-reference parameter passing semantics when passed between actors. |
class |
NATCallframe
NATCallframe is a native implementation of a callframe. |
class |
NATClosure
A NATClosure instance represents a first-class AmbientTalk closure. |
class |
NATClosureMethod
A 'closure method' is literally a function that sits in between of a full closure and a method. |
class |
NATContext
NATContext is a purely functional implementation of the ATContext interface. |
class |
NATDelegation
Instances of the class NATMethodInvocation represent first-class method invocations. |
class |
NATException
Instances of the class NATException provide a AmbientTalk representation for the default instances of all InterpreterExceptions. |
class |
NATField
NATField implements a causally connected field of an object. |
class |
NATFraction
The native implementation of an AmbientTalk fraction. |
class |
NATHandler
TODO document the class NATHandler |
class |
NATMessage
Instances of the class NATMessage represent first-class messages. |
class |
NATMethod
NATMethod implements methods as named functions which are in fact simply containers for a name, a table of arguments and a body. |
class |
NATMethodInvocation
Instances of the class NATMethodInvocation represent first-class method invocations. |
class |
NATNamespace
Instances of the class NATNamespace represent namespace objects. |
class |
NATNil
NATNil implements default semantics for all test and conversion methods. |
class |
NATNumber
The native implementation of an AmbientTalk number. |
class |
NATNumeric
A common superclass of both numbers and fractions to factor out common base-level behaviour. |
class |
NATObject
Native implementation of a default ambienttalk object. |
private class |
NATObjectClosureTest.AGScopeTest
This class is a special statement class used to test the correct scoping of method invocation from the java level, rather than by executing ambienttalk code directly. |
class |
NATStripe
The native implementation of AmbientTalk stripe objects. |
static class |
NATStripe.OBJRootStripe
The root stripe of the stripe hierarchy: every stripe eventually has this stripe as its parent. |
class |
NATTable
The native implementation of an AmbientTalk table. |
class |
NATText
The native implementation of an AmbientTalk text string. |
class |
OBJLexicalRoot
An instance of the class OBJLexicalRoot represents the lexical root of an actor. |
class |
OBJSystem
The sole instance of the class OBJSystem represents the 'system' object, accessible from the lexical root during execution of 'iat'. |
Fields in edu.vub.at.objects.natives declared as ATObject | |
ATObject[] |
NATTable.elements_
|
private ATObject |
NATObjectClosureTest.AGScopeTest.scope_
|
private ATObject |
NATObjectClosureTest.AGScopeTest.self_
|
private ATObject |
NATObjectClosureTest.AGScopeTest.super_
|
private ATObject |
NATContext.scope_
|
private ATObject |
NATContext.self_
|
private ATObject |
NATClosureMethod.lexicalScope_
|
protected ATObject |
NATCallframe.lexicalParent_
The lexical parent 'scope' of this call frame/object. |
private ATObject |
CustomFieldsTest.testField_
|
Methods in edu.vub.at.objects.natives that return ATObject | |
ATObject |
SAFWorkingDirectory.initialize()
|
ATObject |
SAFSystem.initialize()
|
ATObject |
SAFLobby.initialize()
|
ATObject |
OBJSystem.base_read()
def read() { read character from standard input } |
ATObject |
OBJSystem.base_readln()
def readln() { read next line from input } |
ATObject |
OBJSystem.base_reset()
def reset() { reset VM into fresh startup state and re-evaluates init and main file } Resets the global lexical scope to an empty object. |
private static ATObject |
OBJLexicalRoot.performImport(ATObject sourceObject,
ATContext ctx,
java.util.Hashtable aliases,
java.util.HashSet exclude)
Performs the actual copying of the slots from the source object to the importing object. |
ATObject |
OBJLexicalRoot.base_get_opdiv_()
'/' (the global namespace) '/' is an alias for 'lobby' |
ATObject |
OBJLexicalRoot.base_getLobby()
lobby (the global namespace initialized using the objectpath) |
ATObject |
OBJLexicalRoot.base_getRoot()
root (the global scope) |
ATObject |
OBJLexicalRoot.base_getJlobby()
jlobby (the Java class package root, initialized using the Java classpath) |
ATObject |
OBJLexicalRoot.base_getNetwork()
network (the network control object, to go online and offline) |
ATObject |
OBJLexicalRoot.base_if_then_(ATBoolean cond,
ATClosure consequent)
The if:then: primitive, which calls back on the boolean using ifTrue: usage: if: booleanCondition then: { consequent } |
ATObject |
OBJLexicalRoot.base_if_then_else_(ATBoolean cond,
ATClosure consequent,
ATClosure alternative)
The if:then:else primitive, which calls back on the boolean using ifTrue:ifFalse: usage: if: booleanCondition then: { consequent } else: { alternative } pseudo-implementation: booleanCondition.ifTrue: { consequent } ifFalse: { alternative } |
ATObject |
OBJLexicalRoot.base_while_do_(ATClosure condition,
ATClosure body)
The while:do: primitive, which calls back on the closure using whileTrue: usage: while: { condition } do: { body } pseudo-implementation: { condition }.whileTrue: { body } |
ATObject |
OBJLexicalRoot.base_foreach_in_(ATClosure body,
ATTable tab)
The foreach:in: primitive, which calls back on the table using each: usage: foreach: { |v| body } in: [ table ] pseudo-implementation: [ table ].each: { |v| body } |
ATObject |
OBJLexicalRoot.base_do_if_(ATClosure body,
ATBoolean condition)
The do:if: primitive, which in Ruby terminology is a 'statement modifier' usage: do: { body } if: condition pseudo-implementation: condition.ifTrue: { body } |
ATObject |
OBJLexicalRoot.base_do_unless_(ATClosure body,
ATBoolean condition)
The do:unless: primitive, which in Ruby terminology is a 'statement modifier' usage: do: { body } unless: condition pseudo-implementation: condition.ifFalse: { body } |
ATObject |
OBJLexicalRoot.base_let_(ATClosure body)
The let: primitive, which allows for the easy creation of temporary local variables. |
ATObject |
OBJLexicalRoot.base_actor_(ATClosure code)
actor: { code } == actor: { code } mirroredBy: |
ATObject |
OBJLexicalRoot.base_export_as_(ATObject object,
ATStripe topic)
export: object as: topic => object becomes discoverable by objects in other actors via topic returns a publication object that can be used to cancel the export |
ATObject |
OBJLexicalRoot.base_when_discovered_(ATStripe topic,
ATClosure handler)
when: topic discovered: { code } => when an object is exported by another actor under topic, trigger the code returns a subscription object that can be used to cancel the handler Once the code block has run once, it will not be triggered again. |
ATObject |
OBJLexicalRoot.base_whenever_discovered_(ATStripe topic,
ATClosure handler)
whenever: topic discovered: { code } => when an object is exported by another actor under topic, trigger the code returns a subscription object that can be used to cancel the handler The code block can be fired multiple times. |
ATObject |
OBJLexicalRoot.base_when_disconnected_(ATFarReference farReference,
ATClosure listener)
when: farReference disconnected: { code } => when the remote reference is broken due to network disconnections, trigger the code returns a subscription object that can be used to cancel the listener |
ATObject |
OBJLexicalRoot.base_when_reconnected_(ATFarReference farReference,
ATClosure listener)
when: farReference reconnected: { code } => when the remote reference is reinstated after a network disconnection, trigger the code returns a subscription object that can be used to cancel the listener |
ATObject |
OBJLexicalRoot.base_extend_with_(ATObject parent,
ATClosure code)
The extend:with: primitive, which delegates to the extend meta operation on the parent object. |
ATObject |
OBJLexicalRoot.base_object_(ATClosure code)
The object: primitive, implemented as base-level code. |
ATObject |
OBJLexicalRoot.base_isolate_(ATClosure code)
isolate: { code } => create an isolate object Equivalent to: object: { code } stripedWith: [ at.stripes.Isolate ] |
ATObject |
OBJLexicalRoot.base_share_with_(ATObject parent,
ATClosure code)
The share:with: primitive, which delegates to the share meta operation on the parent object. |
ATObject |
OBJLexicalRoot.base_reflect_(ATObject reflectee)
The reflect: primitive, which returns a mirror on an object. |
ATObject |
OBJLexicalRoot.base_clone_(ATObject original)
The clone: primitive, which returns a clone of an object. |
ATObject |
OBJLexicalRoot.base_mirror_(ATClosure code)
The mirror: primitive, which allows creating custom mirrors which can be used to allow intercessive reflection on objects created from this mirror. |
ATObject |
OBJLexicalRoot.base_object_mirroredBy_(ATClosure code,
NATIntercessiveMirror mirror)
object: { code } mirroredBy: mirror => return an object mirage initialized with code |
ATObject |
OBJLexicalRoot.base_extend_with_mirroredBy_(ATObject parent,
ATClosure code,
NATIntercessiveMirror mirror)
|
ATObject |
OBJLexicalRoot.base_share_with_mirroredBy_(ATObject parent,
ATClosure code,
NATIntercessiveMirror mirror)
|
ATObject |
OBJLexicalRoot.base_object_stripedWith_(ATClosure code,
ATTable stripes)
object: { code } stripedWith: [ s1, s2, ... ] => creates a new object tagged with the given stripes |
ATObject |
OBJLexicalRoot.base_try_usingHandlers_(ATClosure tryBlock,
ATTable exceptionHandlers)
try: { tryBlock } usingHandlers: [ handler1, handler2, ... ] Applies the given closure (to []) and handles exceptions using the given exception handlers. |
ATObject |
OBJLexicalRoot.base_try_using_(ATClosure tryBlock,
ATHandler handler)
try: { tryBlock} using: handler Ad-hoc code for one exception handler |
ATObject |
OBJLexicalRoot.base_try_using_using_(ATClosure tryBlock,
ATHandler hdl1,
ATHandler hdl2)
try: { tryBlock} using: handler1 using: handler2 Ad-hoc code for two exception handlers |
ATObject |
OBJLexicalRoot.base_try_using_using_using_(ATClosure tryBlock,
ATHandler hdl1,
ATHandler hdl2,
ATHandler hdl3)
try: { tryBlock} using: hdl1 using: hdl2 using: hdl3 Ad-hoc code for three exception handlers |
ATObject |
OBJLexicalRoot.base_try_catch_using_(ATClosure tryBlock,
ATStripe filter,
ATClosure replacementCode)
try: { tryBlock} catch: stripe using: { |e| replacementCode } 'Syntactic sugar' for one in-line handler |
ATObject |
OBJLexicalRoot.base_try_catch_using_catch_using_(ATClosure tryBlock,
ATStripe filter1,
ATClosure hdl1,
ATStripe filter2,
ATClosure hdl2)
try: { tryBlock } catch: stripe using: { |e| replacementCode } catch: stripe2 using: { |e| replacementCode2 } 'Syntactic sugar' for two in-line handlers |
ATObject |
OBJLexicalRoot.base_try_catch_using_catch_using_catch_using_(ATClosure tryBlock,
ATStripe filter1,
ATClosure hdl1,
ATStripe filter2,
ATClosure hdl2,
ATStripe filter3,
ATClosure hdl3)
try: { tryBlock } catch: stripe using: { |e| replacementCode } catch: stripe2 using: { |e| replacementCode2 } catch: stripe3 using: { |e| replacementCode3 } 'Syntactic sugar' for three in-line handlers |
ATObject |
OBJLexicalRoot.base_handle_with_(ATStripe filter,
ATClosure replacementCode)
handle: stripe with: { |e| replacementCode } Creates a first-class handler from a filter prototype and some handler code. |
ATObject |
OBJLexicalRoot.base_eval_in_(ATAbstractGrammar ast,
ATObject obj)
eval: ast in: obj => evaluates the given AST in the context of the given object, returning its value |
ATObject |
OBJLexicalRoot.base_new(ATObject[] initargs)
Invoking root.new(args) results in an exception for reasons of safety. |
ATObject |
OBJLexicalRoot.meta_resolve()
After deserialization, ensure that the lexical root remains unique. |
ATObject |
NATTable.meta_eval(ATContext ctx)
To evaluate a table, evaluate all of its constituent expressions, taking special care to take into account spliced expressions. |
ATObject |
NATTable.meta_quote(ATContext ctx)
To quote a table, quote all elements of the table. |
ATObject |
NATTable.base_at(ATNumber index)
|
ATObject |
NATTable.base_atPut(ATNumber index,
ATObject value)
|
ATObject |
NATTable.base_with_collect_(ATObject init,
ATClosure clo)
|
ATObject |
NATTable.base_find_(ATClosure clo)
|
static ATObject[] |
NATTable.collate(ATObject[] ary1,
ATObject[] ary2)
Auxiliary method to collate two Java arrays |
ATObject |
NATTable.meta_resolve()
|
ATObject |
NATObjectClosureTest.AGScopeTest.meta_eval(ATContext ctx)
|
ATObject |
NATObject.meta_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
Invocations on an object ( o.m( args ) ) are handled by looking up the requested selector in the dynamic parent chain of the receiver. |
ATObject |
NATObject.meta_select(ATObject receiver,
ATSymbol selector)
meta_select is used to evaluate code of the form o.m. |
ATObject |
NATObject.meta_lookup(ATSymbol selector)
This method is used to evaluate code of the form selector within the scope of this object. |
ATObject |
NATObject.meta_clone()
When cloning an object, it is first determined whether the parent has to be shared by the clone, or whether the parent must also be cloned. |
ATObject |
NATObject.meta_newInstance(ATTable initargs)
When new is invoked on an object's mirror, the object is first cloned by the mirror, after which the method named 'init' is invoked on it. |
ATObject |
NATObject.meta_extend(ATClosure code)
|
ATObject |
NATObject.meta_share(ATClosure code)
|
protected ATObject |
NATObject.createChild(ATClosure code,
boolean parentPointerType)
When creating children of objects, care must be taken that an extension of an isolate itself remains an isolate. |
ATObject |
NATObject.meta_pass()
An isolate object does not return a proxy representation of itself during serialization, hence it is serialized itself. |
ATObject |
NATObject.meta_resolve()
An isolate object represents itself upon deserialization. |
ATObject |
NATNil.meta_send(ATAsyncMessage message)
Asynchronous messages ( o<-m( args )) sent in the context of an object o (i.e. |
ATObject |
NATNil.meta_receive(ATAsyncMessage message)
|
ATObject |
NATNil.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
The default behaviour of 'delegate' for primitive non-object ambienttalk language values is to check whether the requested functionality is provided by a native Java method with the same selector, but prefixed with 'base_'. |
ATObject |
NATNil.meta_doesNotUnderstand(ATSymbol selector)
By default, when a selection is not understood by a primitive object, an error is raised. |
ATObject |
NATNil.meta_select(ATObject receiver,
ATSymbol selector)
It is possible to select a method from any ambienttalk value provided that it offers the method in its provided interface. |
ATObject |
NATNil.meta_lookup(ATSymbol selector)
A lookup can only be issued at the base level by writing selector inside the scope of a particular object. |
ATObject |
NATNil.meta_clone()
|
ATObject |
NATNil.meta_newInstance(ATTable initargs)
|
protected ATObject |
NATNil.createChild(ATClosure code,
boolean parentPointerType)
|
ATObject |
NATNil.meta_extend(ATClosure code)
|
ATObject |
NATNil.meta_share(ATClosure code)
|
ATObject |
NATNil.meta_eval(ATContext ctx)
All NATObjects which are not Abstract Grammar elements are self-evaluating. |
ATObject |
NATNil.meta_quote(ATContext ctx)
Quoting a native object returns itself, except for pure AG elements. |
ATObject |
NATNil.meta_getDynamicParent()
Only true extending objects have a dynamic pointer, others return nil |
ATObject |
NATNil.meta_getLexicalParent()
By default numbers, tables and so on do not have lexical parents, |
ATObject |
NATNil.base_new(ATObject[] initargs)
|
ATObject |
NATNil.base_init(ATObject[] initargs)
|
ATObject |
NATNil.meta_pass()
This method allows objects to decide which object should be serialized in their stead when they are passed as argument in an asynchronous message send that crosses actor boundaries. |
ATObject |
NATNil.meta_resolve()
After deserialization, ensure that nil remains unique. |
ATObject |
NATNamespace.meta_doesNotUnderstand(ATSymbol selector)
For a namespace object, doesNotUnderstand triggers the querying of the local file system to load files corresponding to the missing selector. |
ATObject |
NATMethodInvocation.base_sendTo(ATObject receiver,
ATObject sender)
To evaluate a method invocation, invoke the method corresponding to the encapsulated selector to the given receiver with the encapsulated arguments. |
ATObject |
NATMethod.base_apply(ATTable arguments,
ATContext ctx)
To apply a function, first bind its parameters to the evaluated arguments within a new call frame. |
ATObject |
NATMethod.base_applyInScope(ATTable arguments,
ATContext ctx)
Applies the method in the context given, without first inserting a call frame to bind parameters. |
ATObject |
NATHandler.base_handle(ATObject anException)
|
ATObject |
NATField.base_readField()
|
ATObject |
NATField.meta_newInstance(ATTable initargs)
Fields can be re-initialized when installed in an object that is being cloned. |
ATObject |
NATException.meta_newInstance(ATTable initargs)
|
ATObject |
NATDelegation.base_sendTo(ATObject receiver,
ATObject sender)
To evaluate a delegating message send, invoke the method corresponding to the encapsulated selector with the encapsulated arguments. |
ATObject |
NATContext.base_getLexicalScope()
|
ATObject |
NATContext.base_getSelf()
|
ATObject |
NATClosureMethod.base_apply(ATTable arguments,
ATContext ctx)
A closure method application acts exactly like a regular direct method application, except that the given lexical scope is disregarded and replaced by the lexical scope encapsulated by the closure method. |
ATObject |
NATClosureMethod.base_applyInScope(ATTable arguments,
ATContext ctx)
|
ATObject |
NATClosure.base_apply(ATTable arguments)
To apply a closure, apply its underlying method with the context of the closure, rather than the runtime context of the invoker. |
ATObject |
NATClosure.base_applyInScope(ATTable args,
ATObject scope)
To apply a closure in a given scope, apply its underlying method with a new context constructed from the scope object. |
ATObject |
NATClosure.base_whileTrue_(ATClosure body)
receiver is a zero-argument block closure returning a boolean |
ATObject |
NATClosure.base_escape()
The following is a pseudo-code implementation of escape. |
ATObject |
NATCallframe.meta_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
Normally, call frames are not used in receiverful method invocation expressions. |
ATObject |
NATCallframe.meta_doesNotUnderstand(ATSymbol selector)
By default, when a selection is not understood by an AmbientTalk object or call frame, an error is raised. |
ATObject |
NATCallframe.meta_select(ATObject receiver,
ATSymbol selector)
This method is used in the evaluation of the code o.m. |
ATObject |
NATCallframe.meta_lookup(ATSymbol selector)
This method is used to evaluate code of the form selector within the scope of this call frame. |
ATObject |
NATCallframe.meta_clone()
|
ATObject |
NATCallframe.meta_newInstance(ATTable initargs)
|
ATObject |
NATCallframe.meta_extend(ATClosure code)
|
ATObject |
NATCallframe.meta_share(ATClosure code)
|
ATObject |
NATCallframe.meta_getDynamicParent()
|
ATObject |
NATCallframe.meta_getLexicalParent()
|
protected ATObject |
NATCallframe.getLocalField(ATSymbol selector)
Reads out the value of either a native or a custom field. |
ATObject |
NATByRef.meta_pass()
By reference objects serialize to a proxy representation. |
ATObject |
NATByRef.meta_resolve()
By reference objects cannot be deserialized, by definition. |
ATObject |
NATByCopy.meta_pass()
When a by-copy object is asked which object to serialize in its stead, the by-copy object returns itself, so that it itself will be serialized. |
ATObject |
NATByCopy.meta_resolve()
When a by-copy object is asked which object it represents when it is deserialized, the object returns itself. |
ATObject |
NATBoolean.NATTrue.base_ifTrue_(ATClosure clo)
|
ATObject |
NATBoolean.NATTrue.base_ifFalse_(ATClosure clo)
|
ATObject |
NATBoolean.NATTrue.base_ifTrue_ifFalse_(ATClosure consequent,
ATClosure alternative)
|
ATObject |
NATBoolean.NATFalse.base_ifTrue_(ATClosure clo)
|
ATObject |
NATBoolean.NATFalse.base_ifFalse_(ATClosure clo)
|
ATObject |
NATBoolean.NATFalse.base_ifTrue_ifFalse_(ATClosure consequent,
ATClosure alternative)
|
Methods in edu.vub.at.objects.natives with parameters of type ATObject | |
ATNil |
OBJSystem.base_print(ATObject[] objs)
def print(@obj) { print obj to standard output } |
ATNil |
OBJSystem.base_println(ATObject[] objs)
def println(@obj) { self.print(#[@obj, '\n']) } |
private static ATObject |
OBJLexicalRoot.performImport(ATObject sourceObject,
ATContext ctx,
java.util.Hashtable aliases,
java.util.HashSet exclude)
Performs the actual copying of the slots from the source object to the importing object. |
ATObject |
OBJLexicalRoot.base_export_as_(ATObject object,
ATStripe topic)
export: object as: topic => object becomes discoverable by objects in other actors via topic returns a publication object that can be used to cancel the export |
ATObject |
OBJLexicalRoot.base_extend_with_(ATObject parent,
ATClosure code)
The extend:with: primitive, which delegates to the extend meta operation on the parent object. |
ATObject |
OBJLexicalRoot.base_share_with_(ATObject parent,
ATClosure code)
The share:with: primitive, which delegates to the share meta operation on the parent object. |
ATObject |
OBJLexicalRoot.base_reflect_(ATObject reflectee)
The reflect: primitive, which returns a mirror on an object. |
ATObject |
OBJLexicalRoot.base_clone_(ATObject original)
The clone: primitive, which returns a clone of an object. |
ATObject |
OBJLexicalRoot.base_extend_with_mirroredBy_(ATObject parent,
ATClosure code,
NATIntercessiveMirror mirror)
|
ATObject |
OBJLexicalRoot.base_share_with_mirroredBy_(ATObject parent,
ATClosure code,
NATIntercessiveMirror mirror)
|
ATBoolean |
OBJLexicalRoot.base_is_stripedWith_(ATObject object,
ATStripe stripe)
is: object stripedWith: stripe => returns true if the given object is striped with the given stripe |
ATTable |
OBJLexicalRoot.base_stripesOf_(ATObject object)
stripesOf: object => returns all of the stripes of an object |
ATNil |
OBJLexicalRoot.base_raise_(ATObject anExceptionObject)
raise: exception Raises an exception which can be caught by dynamically installed try-catch-using blocks. |
ATObject |
OBJLexicalRoot.base_eval_in_(ATAbstractGrammar ast,
ATObject obj)
eval: ast in: obj => evaluates the given AST in the context of the given object, returning its value |
ATText |
OBJLexicalRoot.base_print_(ATObject obj)
print: expression => string representing the expression |
ATBoolean |
OBJLexicalRoot.base__opeql__opeql_(ATObject comparand)
|
ATObject |
OBJLexicalRoot.base_new(ATObject[] initargs)
Invoking root.new(args) results in an exception for reasons of safety. |
ATText |
NATText.base__oppls_(ATObject other)
|
static NATTable |
NATTable.atValue(ATObject[] array)
Table factory method. |
static NATTable |
NATTable.of(ATObject one)
|
static NATTable |
NATTable.of(ATObject one,
ATObject two)
|
static NATTable |
NATTable.of(ATObject one,
ATObject two,
ATObject three)
|
ATObject |
NATTable.base_atPut(ATNumber index,
ATObject value)
|
ATObject |
NATTable.base_with_collect_(ATObject init,
ATClosure clo)
|
static ATObject[] |
NATTable.collate(ATObject[] ary1,
ATObject[] ary2)
Auxiliary method to collate two Java arrays |
ATObject |
NATObject.meta_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
Invocations on an object ( o.m( args ) ) are handled by looking up the requested selector in the dynamic parent chain of the receiver. |
ATObject |
NATObject.meta_select(ATObject receiver,
ATSymbol selector)
meta_select is used to evaluate code of the form o.m. |
ATNil |
NATObject.meta_defineField(ATSymbol name,
ATObject value)
When a new field is defined in an object, it is important to check whether or not the field map is shared between clones or not. |
ATNil |
NATObject.meta_assignField(ATObject receiver,
ATSymbol selector,
ATObject value)
meta_assignField is used to evaluate code of the form o.m := v. |
protected NATObject |
NATObject.createClone(FieldMap map,
java.util.Vector state,
java.util.LinkedList originalCustomFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes)
|
ATBoolean |
NATObject.meta_isCloneOf(ATObject original)
|
ATBoolean |
NATObject.meta_isRelatedTo(ATObject object)
|
static ATField[] |
NATObject.listTransitiveFields(ATObject obj)
Auxiliary method to access the fields of an object and all of its super-objects up to (but excluding) nil. |
static ATMethod[] |
NATObject.listTransitiveMethods(ATObject obj)
Auxiliary method to access the methods of an object and all of its super-objects up to (but excluding) nil. |
ATObject |
NATNil.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
The default behaviour of 'delegate' for primitive non-object ambienttalk language values is to check whether the requested functionality is provided by a native Java method with the same selector, but prefixed with 'base_'. |
ATObject |
NATNil.meta_select(ATObject receiver,
ATSymbol selector)
It is possible to select a method from any ambienttalk value provided that it offers the method in its provided interface. |
ATNil |
NATNil.meta_defineField(ATSymbol name,
ATObject value)
|
ATNil |
NATNil.meta_assignVariable(ATSymbol name,
ATObject value)
Normally, a variable assignment cannot be performed on a native AmbientTalk object. |
ATNil |
NATNil.meta_assignField(ATObject receiver,
ATSymbol name,
ATObject value)
|
ATBoolean |
NATNil.base__opeql__opeql_(ATObject comparand)
|
ATObject |
NATNil.base_new(ATObject[] initargs)
|
ATObject |
NATNil.base_init(ATObject[] initargs)
|
ATBoolean |
NATNil.meta_isCloneOf(ATObject original)
|
ATBoolean |
NATNil.meta_isRelatedTo(ATObject object)
|
protected NATObject |
NATNamespace.createClone(FieldMap map,
java.util.Vector state,
java.util.LinkedList customFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes)
|
ATObject |
NATMethodInvocation.base_sendTo(ATObject receiver,
ATObject sender)
To evaluate a method invocation, invoke the method corresponding to the encapsulated selector to the given receiver with the encapsulated arguments. |
ATBoolean |
NATHandler.base_canHandle(ATObject anException)
|
ATObject |
NATHandler.base_handle(ATObject anException)
|
ATNil |
NATField.base_writeField(ATObject newValue)
|
ATBoolean |
NATException.meta_isRelatedTo(ATObject object)
|
ATObject |
NATDelegation.base_sendTo(ATObject receiver,
ATObject sender)
To evaluate a delegating message send, invoke the method corresponding to the encapsulated selector with the encapsulated arguments. |
ATContext |
NATContext.base_withLexicalEnvironment(ATObject scope)
|
ATContext |
NATContext.base_withDynamicReceiver(ATObject self)
|
ATObject |
NATClosure.base_applyInScope(ATTable args,
ATObject scope)
To apply a closure in a given scope, apply its underlying method with a new context constructed from the scope object. |
ATObject |
NATCallframe.meta_invoke(ATObject receiver,
ATSymbol selector,
ATTable arguments)
Normally, call frames are not used in receiverful method invocation expressions. |
ATObject |
NATCallframe.meta_select(ATObject receiver,
ATSymbol selector)
This method is used in the evaluation of the code o.m. |
ATNil |
NATCallframe.meta_defineField(ATSymbol name,
ATObject value)
A field can be added to either a call frame or an object. |
ATNil |
NATCallframe.meta_assignVariable(ATSymbol name,
ATObject value)
A field can be assigned in either a call frame or an object. |
ATNil |
NATCallframe.meta_assignField(ATObject receiver,
ATSymbol name,
ATObject value)
Assigning a call frame's field externally is possible and is treated as if it were a variable assignment. |
ATBoolean |
NATCallframe.meta_isCloneOf(ATObject original)
|
ATBoolean |
NATCallframe.meta_isRelatedTo(ATObject object)
|
protected boolean |
NATCallframe.setLocalField(ATSymbol selector,
ATObject value)
Set a given field if it exists. |
private void |
ExceptionHandlingTest.setUpTestStripes(ATObject testScope)
|
Constructors in edu.vub.at.objects.natives with parameters of type ATObject | |
NATTable(ATObject[] elements)
|
|
NATObjectClosureTest.AGScopeTest(ATObject scope,
ATObject self,
ATObject zuper)
|
|
NATObject(ATObject lexicalParent)
Constructs a new ambienttalk object parametrised by a lexical scope. |
|
NATObject(ATObject lexicalParent,
ATStripe[] stripes)
Constructs a new ambienttalk object parametrised by a lexical scope. |
|
NATObject(ATObject dynamicParent,
boolean parentType)
Constructs a new ambienttalk object with the given dynamic parent. |
|
NATObject(ATObject dynamicParent,
ATObject lexicalParent,
boolean parentType)
Constructs a new ambienttalk object based on a set of parent pointers. |
|
NATObject(ATObject dynamicParent,
ATObject lexicalParent,
boolean parentType,
ATStripe[] stripes)
Constructs a new ambienttalk object based on a set of parent pointers. |
|
NATObject(FieldMap map,
java.util.Vector state,
java.util.LinkedList originalCustomFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes)
Constructs a new ambienttalk object as a clone of an existing object. |
|
NATNamespace(FieldMap map,
java.util.Vector state,
java.util.LinkedList customFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes,
java.io.File path,
java.lang.String name)
Private constructor used only for cloning |
|
NATDelegation(ATObject delegator,
ATSymbol sel,
ATTable arg)
|
|
NATContext(ATObject scope,
ATObject self)
|
|
NATClosureMethod(ATObject scope,
ATMethod method)
|
|
NATClosure(ATMethod method,
ATObject implementor,
ATObject receiver)
This constructor creates a closure with a bound dynamic receiver, and it is called after the succesful lookup of a receiverful message. |
|
NATCallframe(ATObject lexicalParent)
|
|
NATCallframe(FieldMap varMap,
java.util.Vector stateVector,
ATObject lexicalParent,
java.util.LinkedList customFields)
Used internally for cloning a callframe/object. |
Uses of ATObject in edu.vub.at.objects.natives.grammar |
Classes in edu.vub.at.objects.natives.grammar that implement ATObject | |
class |
AGApplication
|
class |
AGAssignField
|
class |
AGAssignTable
|
class |
AGAssignVariable
|
class |
AGAsyncMessageCreation
AGAsyncMessageCreation implements the ATAsyncMessageCreation interface natively. |
class |
AGBegin
AGBegin represents the abstract grammar element of a list of statements. |
class |
AGClosureLiteral
The native implementation of a literal closure AG element. |
class |
AGDefExternalField
Represents the abstract grammar for defining external fields. |
class |
AGDefExternalMethod
The native implementation of an external method definition abstract grammar element. |
class |
AGDefField
|
class |
AGDefFunction
The native implementation of a function definition abstract grammar element. |
class |
AGDefStripe
The native AST node for the code: def stripename; def stripename < superstripename; |
class |
AGDefTable
|
class |
AGDelegationCreation
The native implementation of a first-class delegating message send. |
class |
AGExpression
|
class |
AGMessageCreation
|
class |
AGMessageSend
|
class |
AGMethodInvocationCreation
|
class |
AGMultiAssignment
|
class |
AGMultiDefinition
|
class |
AGQuote
|
class |
AGSelection
|
class |
AGSelf
|
class |
AGSplice
|
class |
AGSymbol
|
class |
AGTabulation
|
class |
AGUnquote
|
class |
AGUnquoteSplice
|
class |
NATAbstractGrammar
|
Methods in edu.vub.at.objects.natives.grammar that return ATObject | |
ATObject |
AGUnquoteSplice.meta_eval(ATContext ctx)
An unquotation cannot be evaluated, but rather gives rise to an XIllegalUnquote exception. |
ATObject |
AGUnquoteSplice.meta_quote(ATContext ctx)
Quoting a spliced unquotation means evaluating its contained expression, and returning its value as the result of the quote. |
ATObject |
AGUnquote.meta_eval(ATContext ctx)
An unquotation cannot be evaluated, but rather gives rise to an XIllegalUnquote exception. |
ATObject |
AGUnquote.meta_quote(ATContext ctx)
Quoting an unquotation means evaluating its contained expression, and returning its value as the result of the quote. |
ATObject |
AGTabulation.meta_eval(ATContext ctx)
To evaluate a tabulation, evaluate the tabulation expression to a table, evaluate the index expression into a valid index, and then access the table at the given index slot. |
ATObject |
AGTabulation.meta_quote(ATContext ctx)
Quoting a tabulation results in a new quoted tabulation AGTBL(tbl,idx).quote(ctx) = AGTBL(tbl.quote(ctx),idx.quote(ctx)) |
ATObject |
AGSymbol.meta_eval(ATContext ctx)
To evaluate a symbol reference, look up the symbol in the lexical scope. |
ATObject |
AGSymbol.meta_quote(ATContext ctx)
Quoting a symbol results in the same symbol. |
ATObject |
AGSymbol.meta_resolve()
After deserialization, ensure that the symbol remains unique. |
ATObject |
AGSplice.meta_eval(ATContext ctx)
A spliced element cannot be evaluated, but rather gives rise to an XIllegalSplice exception. |
ATObject |
AGSplice.meta_quote(ATContext ctx)
Quoting a splice means quoting its contained expression, and returning a new splice. |
ATObject |
AGSelf.meta_eval(ATContext ctx)
To evaluate a self reference, simply select the current self from the current evaluation context. |
ATObject |
AGSelf.meta_quote(ATContext ctx)
Quoting a self reference results in the same self reference. |
ATObject |
AGSelection.meta_eval(ATContext ctx)
To evaluate a selection, evaluate the receiver expression to an object and select the slot with the given name from that object. |
ATObject |
AGSelection.meta_quote(ATContext ctx)
Quoting a selection results in a new quoted selection. |
ATObject |
AGQuote.meta_eval(ATContext ctx)
To evaluate a quotation, start quoting its contained statement. |
ATObject |
AGQuote.meta_quote(ATContext ctx)
Quoting a quotation results in a bare quotation, where quotations and unquotations are left unexpanded. |
ATObject |
AGMultiDefinition.meta_eval(ATContext ctx)
To evaluate a multiple definition, evaluate the right hand side to a table and bind the parameters on the left hand side to the 'arguments' of the right hand side, exactly as if they were bound during a function call. |
ATObject |
AGMultiDefinition.meta_quote(ATContext ctx)
AGMULTIDEF(par,val).quote(ctx) = AGMULTIDEF(par.quote(ctx), val.quote(ctx)) |
ATObject |
AGMultiAssignment.meta_eval(ATContext ctx)
To evaluate a multiple assignment, evaluate the right hand side to a table and assign the parameters on the left hand side to the 'arguments' of the right hand side, almost as if they were bound during a function call (the parameters are assigned instead of defined). |
ATObject |
AGMultiAssignment.meta_quote(ATContext ctx)
AGMULTIASS(par,val).quote(ctx) = AGMULTIASS(par.quote(ctx), val.quote(ctx)) |
ATObject |
AGMethodInvocationCreation.meta_eval(ATContext ctx)
To evaluate a first-class synchronous message creation AG element, transform the selector and evaluated arguments into a first-class MethodInvocation. |
protected ATObject |
AGMethodInvocationCreation.newQuoted(ATSymbol quotedSel,
ATTable quotedArgs)
|
ATObject |
AGMessageSend.meta_eval(ATContext ctx)
To evaluate a message send, evaluate the receiver expression into an object. |
ATObject |
AGMessageSend.meta_quote(ATContext ctx)
Quoting a message send returns a new quoted message send. |
ATObject |
AGMessageCreation.meta_quote(ATContext ctx)
Quoting a message creation element returns a new quoted message creation element. |
protected abstract ATObject |
AGMessageCreation.newQuoted(ATSymbol quotedSel,
ATTable quotedArgs)
Subclasses must implement this method in order to return a new instance of themselves parameterized with their quoted arguments. |
ATObject |
AGDelegationCreation.meta_eval(ATContext ctx)
To evaluate a first-class delegation message creation AG element, transform the selector and evaluated arguments into a first-class NATDelegation object. |
protected ATObject |
AGDelegationCreation.newQuoted(ATSymbol quotedSel,
ATTable quotedArgs)
|
ATObject |
AGDefTable.meta_eval(ATContext ctx)
Defining a table requires evaluating its index expression to a size s, then allocating a new table of size s and finally initializing it by evaluating its initializer body s times. |
ATObject |
AGDefTable.meta_quote(ATContext ctx)
Quoting a table definition results in a new quoted table definition. |
ATObject |
AGDefStripe.meta_eval(ATContext ctx)
Defines a new stripe in the current scope. |
ATObject |
AGDefStripe.meta_quote(ATContext ctx)
Quoting a stripe definition results in a new quoted stripe definition. |
ATObject |
AGDefFunction.meta_eval(ATContext ctx)
Defines a new function (method or closure) in the current scope. |
ATObject |
AGDefFunction.meta_quote(ATContext ctx)
Quoting a function definition results in a new quoted function definition. |
ATObject |
AGDefField.meta_eval(ATContext ctx)
Defines a new field in the current scope. |
ATObject |
AGDefField.meta_quote(ATContext ctx)
Quoting a field definition results in a new quoted field definition. |
ATObject |
AGDefExternalMethod.meta_eval(ATContext ctx)
Evaluates the receiver symbol to an object to which a new 'closure method' will be added. |
ATObject |
AGDefExternalMethod.meta_quote(ATContext ctx)
Quoting an external method definition results in a new quoted external method definition. |
ATObject |
AGDefExternalField.meta_eval(ATContext ctx)
Defines a new field in the object denoted by the receiver symbol. |
ATObject |
AGDefExternalField.meta_quote(ATContext ctx)
Quoting an external field definition results in a new quoted external field definition. |
ATObject |
AGClosureLiteral.meta_eval(ATContext ctx)
To evaluate a closure literal, construct a closure pairing the literal's arguments and body with the current evaluation context. |
ATObject |
AGClosureLiteral.meta_quote(ATContext ctx)
Quoting a closure literal results in a new quoted closure literal. |
ATObject |
AGBegin.meta_eval(ATContext ctx)
AGBEGIN encapsulates a sequence of statements and evaluates each of these statements in turn. |
ATObject |
AGBegin.meta_quote(ATContext ctx)
AGBEGIN(statements*).quote(ctx) = AGBEGIN((statements*).quote(ctx)) |
ATObject |
AGAsyncMessageCreation.meta_eval(ATContext ctx)
To evaluate an async message creation element, simply return a new native asynchronous message. |
protected ATObject |
AGAsyncMessageCreation.newQuoted(ATSymbol quotedSel,
ATTable quotedArgs)
|
ATObject |
AGAssignVariable.meta_eval(ATContext ctx)
To evaluate a variable assignment, evaluate the right hand side and ask the current object to assign that value to the field corresponding to the left hand side. |
ATObject |
AGAssignVariable.meta_quote(ATContext ctx)
AGASSVAR(nam,val).quote(ctx) = AGASSVAR(nam.quote(ctx), val.quote(ctx)) |
ATObject |
AGAssignTable.meta_eval(ATContext ctx)
To evaluate a table assignment, evaluate its table expression to a valid ATTable. |
ATObject |
AGAssignTable.meta_quote(ATContext ctx)
Quoting a table assignment results in a new quoted table assignment. |
ATObject |
AGAssignField.meta_eval(ATContext ctx)
To evaluate a field assignment, evaluate the receiver expression, evaluate the right hand side and ask the receiver object to assign the RHS value to the field corresponding to the given field name. |
ATObject |
AGAssignField.meta_quote(ATContext ctx)
AGASSFIELD(rcv,nam,val).quote(ctx) = AGASSFIELD(rcv.quote(ctx), nam.quote(ctx), val.quote(ctx)) |
ATObject |
AGApplication.meta_eval(ATContext ctx)
To evaluate a function application, evaluate the receiver expression to a function, then evaluate the arguments to the function application eagerly and apply the function. |
ATObject |
AGApplication.meta_quote(ATContext ctx)
Quoting an application results in a new quoted application. |
Methods in edu.vub.at.objects.natives.grammar with parameters of type ATObject | |
private void |
TestParameterBinding.ensureBound(ATSymbol var,
ATObject value)
|
private void |
TestParameterBinding.ensureBoundToTable(ATSymbol var,
ATObject[] expected)
|
ATTable |
AGSymbol.base__opmns__opgtx_(ATObject obj)
|
Uses of ATObject in edu.vub.at.objects.symbiosis |
Subinterfaces of ATObject in edu.vub.at.objects.symbiosis | |
interface |
ATJavaClosure
The public interface to a closure pairing a Java wrapper object with a symbiotic Java method. |
Classes in edu.vub.at.objects.symbiosis that implement ATObject | |
class |
JavaClass
A JavaClass instance represents a Java Class under symbiosis. |
class |
JavaClosure
A JavaClosure pairs a JavaMethod (a bundle of native overloaded java.lang.reflect.Method objects) together with a Java object receiver. |
class |
JavaField
A JavaField is a simple wrapper around a native java.lang.reflect.Field |
class |
JavaMethod
JavaMethod is a wrapper class encapsulating one or more java.lang.reflect.Method objects. |
class |
JavaObject
JavaObject instances represent java objects under symbiosis. |
class |
JavaPackage
A JavaPackage represents (part of) a Java package name and serves the same purpose as AmbientTalk Namespace objects, but for loading Java classes rather than AT objects. |
Fields in edu.vub.at.objects.symbiosis declared as ATObject | |
private ATObject |
JavaClosure.scope_
|
Methods in edu.vub.at.objects.symbiosis that return ATObject | |
static ATObject |
Symbiosis.symbioticInvocation(ATObject wrapper,
java.lang.Object symbiont,
java.lang.Class ofClass,
java.lang.String selector,
ATObject[] atArgs)
|
static ATObject |
Symbiosis.symbioticInvocation(ATObject wrapper,
java.lang.Object symbiont,
java.lang.String selector,
JavaMethod jMethod,
ATObject[] atArgs)
The Java method invocation algorithm is as follows: case of # of methods matching selector: 0 => XSelectorNotFound 1 => invoke the method OR XIllegalArgument, XArityMismatch, XReflectionFailure * => (case of # of methods with matching arity OR taking varargs: 0 => XSymbiosisFailure 1 => invoke the method OR XIllegalArgument, XReflectionFailure * => (case of # of methods matching 'default type' of the actual arguments: 0 => XSymbiosisFailure 1 => invoke OR XReflectionFailure * => XSymbiosisFailure)) A Java method takes a variable number of AT arguments <=> it has one formal parameter of type ATObject[] |
static ATObject |
Symbiosis.symbioticInstanceCreation(java.lang.Class ofClass,
ATObject[] atArgs)
Creates a new instance of a Java class. |
static ATObject |
Symbiosis.readField(java.lang.Object fromObject,
java.lang.Class ofClass,
java.lang.String fieldName)
Read a field from the given Java object reflectively. |
static ATObject |
Symbiosis.readField(java.lang.Object fromObject,
java.lang.reflect.Field f)
Read a field from the given Java object reflectively. |
static ATObject |
Symbiosis.javaToAmbientTalk(java.lang.Object jObj)
Convert a Java object into an AmbientTalk object. |
private static ATObject |
Symbiosis.invokeUniqueSymbioticMethod(java.lang.Object symbiont,
java.lang.reflect.Method javaMethod,
java.lang.Object[] jArgs)
|
private static ATObject |
Symbiosis.invokeUniqueSymbioticConstructor(java.lang.reflect.Constructor ctor,
java.lang.Object[] jArgs)
|
ATObject |
JavaPackage.meta_doesNotUnderstand(ATSymbol selector)
For a JavaPackage object, doesNotUnderstand triggers the querying of the Java classpath to load classes corresponding to the missing selector. |
ATObject |
JavaPackage.base_class(ATSymbol selector)
Allows the AT programmer to explicitly load a class. |
ATObject |
JavaPackage.base_package(ATSymbol selector)
Allows the AT programmer to explicitly load a package. |
ATObject |
JavaObject.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
When a method is invoked upon a symbiotic Java object, an underlying Java method with the same name as the AmbientTalk selector is invoked. |
ATObject |
JavaObject.meta_select(ATObject receiver,
ATSymbol selector)
When selecting a field from a symbiotic Java object, if the Java symbiont object's class has a non-static field with a matching selector, it is automatically read; if it has a corresponding method, the method is returned in a closure. |
ATObject |
JavaObject.meta_lookup(ATSymbol selector)
A variable lookup is resolved by first checking whether the Java object has a field with a matching name. |
ATObject |
JavaObject.meta_clone()
Cloning a symbiotic object is not always possible as Java has no uniform cloning semantics. |
ATObject |
JavaObject.meta_newInstance(ATTable initargs)
Invoking new on a JavaObject will exhibit the same behaviour as if new was invoked on the parent class. |
ATObject |
JavaObject.meta_pass()
Passing a Java Object wrapper to another actor has the following effect: - if the wrapped Java object is serializable, the symbiotic AmbientTalk object is treated as by copy (i.e. as an isolate) |
ATObject |
JavaObject.meta_resolve()
If the wrapped object was serializable, we may be asked to resolve ourselves. |
ATObject |
JavaMethod.base_apply(ATTable arguments,
ATContext ctx)
|
ATObject |
JavaMethod.base_applyInScope(ATTable arguments,
ATContext ctx)
|
ATObject |
JavaField.base_readField()
|
ATObject |
JavaField.meta_newInstance(ATTable initargs)
Fields can be re-initialized when installed in an object that is being cloned. |
ATObject |
JavaClass.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
When a method is invoked upon a symbiotic Java class object, the underlying static Java method with the same name as the AmbientTalk selector is invoked. |
ATObject |
JavaClass.meta_select(ATObject receiver,
ATSymbol selector)
When selecting a field from a symbiotic Java class object, if the object's class has a static field with a matching selector, it is automatically read; if it has methods corresponding to the selector, they are returned in a JavaMethod wrapper, otherwise, the fields of its AT symbiont are checked. |
ATObject |
JavaClass.meta_lookup(ATSymbol selector)
A variable lookup is resolved by first checking whether the Java object has an appropriate static field with a matching name. |
ATObject |
JavaClass.meta_clone()
Symbiotic Java class objects are singletons. |
ATObject |
JavaClass.meta_newInstance(ATTable initargs)
aJavaClass.new(@args) == invoke a Java constructor AmbientTalk objects can add a custom new method to the class in order to intercept instance creation. |
ATObject |
JavaClass.meta_resolve()
A Java Class object remains unique within an actor. |
Methods in edu.vub.at.objects.symbiosis with parameters of type ATObject | |
java.lang.Object |
SymbiosisTest.overloadedvararg(ATObject[] varargs)
|
static ATObject |
Symbiosis.symbioticInvocation(ATObject wrapper,
java.lang.Object symbiont,
java.lang.Class ofClass,
java.lang.String selector,
ATObject[] atArgs)
|
static ATObject |
Symbiosis.symbioticInvocation(ATObject wrapper,
java.lang.Object symbiont,
java.lang.String selector,
JavaMethod jMethod,
ATObject[] atArgs)
The Java method invocation algorithm is as follows: case of # of methods matching selector: 0 => XSelectorNotFound 1 => invoke the method OR XIllegalArgument, XArityMismatch, XReflectionFailure * => (case of # of methods with matching arity OR taking varargs: 0 => XSymbiosisFailure 1 => invoke the method OR XIllegalArgument, XReflectionFailure * => (case of # of methods matching 'default type' of the actual arguments: 0 => XSymbiosisFailure 1 => invoke OR XReflectionFailure * => XSymbiosisFailure)) A Java method takes a variable number of AT arguments <=> it has one formal parameter of type ATObject[] |
static ATObject |
Symbiosis.symbioticInstanceCreation(java.lang.Class ofClass,
ATObject[] atArgs)
Creates a new instance of a Java class. |
static void |
Symbiosis.writeField(java.lang.Object toObject,
java.lang.Class ofClass,
java.lang.String fieldName,
ATObject value)
Write a field in the given Java object reflectively. |
static void |
Symbiosis.writeField(java.lang.Object toObject,
java.lang.reflect.Field f,
ATObject value)
Write a field in the given Java object reflectively. |
static java.lang.Object |
Symbiosis.ambientTalkToJava(ATObject atObj,
java.lang.Class targetType)
Convert an AmbientTalk object into an equivalent Java object. |
private static java.lang.Object[] |
Symbiosis.atArgsToJavaArgs(ATObject[] args,
java.lang.Class[] types)
|
protected NATObject |
JavaPackage.createClone(FieldMap map,
java.util.Vector state,
java.util.LinkedList customFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes)
|
ATObject |
JavaObject.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
When a method is invoked upon a symbiotic Java object, an underlying Java method with the same name as the AmbientTalk selector is invoked. |
ATObject |
JavaObject.meta_select(ATObject receiver,
ATSymbol selector)
When selecting a field from a symbiotic Java object, if the Java symbiont object's class has a non-static field with a matching selector, it is automatically read; if it has a corresponding method, the method is returned in a closure. |
ATNil |
JavaObject.meta_defineField(ATSymbol name,
ATObject value)
Fields can be defined within a symbiotic Java object. |
ATNil |
JavaObject.meta_assignVariable(ATSymbol name,
ATObject value)
Variables can be assigned within a symbiotic Java object if that object's class has a mutable field with a matching name. |
ATNil |
JavaObject.meta_assignField(ATObject receiver,
ATSymbol name,
ATObject value)
Fields can be assigned within a symbiotic Java object if that object's class has a mutable field with a matching name. |
ATBoolean |
JavaObject.meta_isCloneOf(ATObject original)
|
ATNil |
JavaField.base_writeField(ATObject newValue)
|
ATClosure |
JavaClosure.base_cast(ATObject[] types)
For each Method in the wrapped JavaMethod's choices_, check whether it is compatible with the given types. |
ATObject |
JavaClass.meta_invoke(ATObject receiver,
ATSymbol atSelector,
ATTable arguments)
When a method is invoked upon a symbiotic Java class object, the underlying static Java method with the same name as the AmbientTalk selector is invoked. |
ATObject |
JavaClass.meta_select(ATObject receiver,
ATSymbol selector)
When selecting a field from a symbiotic Java class object, if the object's class has a static field with a matching selector, it is automatically read; if it has methods corresponding to the selector, they are returned in a JavaMethod wrapper, otherwise, the fields of its AT symbiont are checked. |
ATNil |
JavaClass.meta_defineField(ATSymbol name,
ATObject value)
Fields can be defined within a symbiotic Java class object. |
ATNil |
JavaClass.meta_assignVariable(ATSymbol name,
ATObject value)
Variables can be assigned within a symbiotic Java class object if that class object has a mutable static field with a matching name. |
ATNil |
JavaClass.meta_assignField(ATObject receiver,
ATSymbol name,
ATObject value)
Fields can be assigned within a symbiotic Java class object if that class has a mutable field with a matching name. |
ATBoolean |
JavaClass.meta_isCloneOf(ATObject original)
|
ATClosure |
ATJavaClosure.base_cast(ATObject[] types)
Using this method, AmbientTalk symbiotic code is able to perform manual overloaded method disambiguation. |
Constructors in edu.vub.at.objects.symbiosis with parameters of type ATObject | |
JavaPackage(FieldMap map,
java.util.Vector state,
java.util.LinkedList customFields,
MethodDictionary methodDict,
ATObject dynamicParent,
ATObject lexicalParent,
byte flags,
ATStripe[] stripes,
java.lang.String path)
Private constructor used only for cloning |
|
JavaClosure(ATObject scope,
JavaMethod meth)
|
Uses of ATObject in edu.vub.at.parser |
Classes in edu.vub.at.parser that implement ATObject | |
class |
NATParser
The class NATParser is a front-end (or Facade) to hide the details of the parser from the ambienttalk core interpreter. |
Methods in edu.vub.at.parser that return ATObject | |
ATObject |
NATParser.meta_resolve()
After deserialization, ensure that the parser remains unique. |
|
|||||||||||
PREV NEXT | FRAMES NO FRAMES |