|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.vub.at.objects.natives.NATNil
edu.vub.at.objects.natives.NATByRef
edu.vub.at.objects.symbiosis.JavaMethod
JavaMethod is a wrapper class encapsulating one or more java.lang.reflect.Method objects. The receiver is to be supplied during method application. All methods in the choices array should be overloaded versions of the same method (i.e. they should have the same selector). The choices array should never be empty! JavaMethod objects must be constant, they are globally cached for all actors to use.
Field Summary | |
protected java.lang.reflect.Method[] |
choices_
|
Fields inherited from class edu.vub.at.objects.natives.NATNil |
_INSTANCE_ |
Constructor Summary | |
JavaMethod(java.lang.reflect.Method[] choices)
|
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. |
ATMethod |
base_asMethod()
|
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. |
boolean |
base_isMethod()
|
boolean |
equals(java.lang.Object other)
Two JavaMethod instances are equal if they both represent a set of methods from the same declaring class with the same selector. |
ATTable |
meta_getStripes()
Returns the stripes of this object. |
NATText |
meta_print()
Prints out the object in a human-readable way. |
Methods inherited from class edu.vub.at.objects.natives.NATByRef |
meta_pass, meta_resolve |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
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_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_pass, meta_quote, meta_receive, meta_resolve, meta_respondsTo, meta_select, meta_send, meta_share |
Field Detail |
protected final java.lang.reflect.Method[] choices_
Constructor Detail |
public JavaMethod(java.lang.reflect.Method[] choices)
Method Detail |
public ATObject base_apply(ATTable arguments, ATContext ctx) throws InterpreterException
ATMethod
base_apply
in interface ATMethod
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
ATMethod
base_applyInScope
in interface ATMethod
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 ATBegin base_getBodyExpression() throws InterpreterException
ATMethod
base_getBodyExpression
in interface ATMethod
InterpreterException
public ATSymbol base_getName() throws InterpreterException
ATMethod
base_getName
in interface ATMethod
InterpreterException
public ATTable base_getParameters() throws InterpreterException
ATMethod
base_getParameters
in interface ATMethod
InterpreterException
public NATText meta_print() throws InterpreterException
ATObject
meta_print
in interface ATObject
meta_print
in class NATNil
InterpreterException
public ATTable meta_getStripes() throws InterpreterException
ATObject
meta_getStripes
in interface ATObject
meta_getStripes
in class NATNil
InterpreterException
public ATMethod base_asMethod() throws XTypeMismatch
base_asMethod
in interface ATConversions
base_asMethod
in class NATNil
XTypeMismatch
public boolean base_isMethod()
base_isMethod
in interface ATConversions
base_isMethod
in class NATNil
public boolean equals(java.lang.Object other)
equals
in class NATNil
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |