|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ATMethods are ambienttalk's representation of methods as named functions. These functions do not close over an environment allowing for them to be shared between different clones. The environment is to be supplied during lookup (which wraps ATMethods into ATClosures). As a consequence it is not possible to get hold of an ATMethod at the base-level (since lookup implies wrapping) TODO: turn base_getxxx into meta_getxxx?
Method Summary | |
ATObject |
base_apply(ATTable arguments,
ATContext ctx)
Applies the method to the given arguments in the given context. |
ATObject |
base_applyInScope(ATTable arguments,
ATContext ctx)
Applies the method to the given arguments in the given context. |
ATBegin |
base_getBodyExpression()
Structural access to the body of the method. |
ATSymbol |
base_getName()
Structural access to the name of the method. |
ATTable |
base_getParameters()
Structural access to the parameter list of the method, which is normally a table of symbols. |
Methods inherited from interface edu.vub.at.objects.ATObject |
base__opeql__opeql_, base_init, base_new, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_eval, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_getStripes, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_pass, meta_print, meta_quote, meta_receive, meta_resolve, meta_respondsTo, meta_select, meta_send, meta_share |
Method Detail |
public ATObject base_apply(ATTable arguments, ATContext ctx) throws InterpreterException
arguments
- the actual arguments, already eagerly evaluatedctx
- the context in which to evaluate the method body, call frame not yet inserted
InterpreterException
public ATObject base_applyInScope(ATTable arguments, ATContext ctx) throws InterpreterException
arguments
- the actual arguments, already eagerly evaluatedctx
- the context in which to evaluate the method body, to be used without inserting a call frame
InterpreterException
public ATSymbol base_getName() throws InterpreterException
InterpreterException
public ATTable base_getParameters() throws InterpreterException
InterpreterException
public ATBegin base_getBodyExpression() throws InterpreterException
InterpreterException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |