|
|||||||||||
| 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 ATMethodarguments - 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 ATMethodarguments - 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 ATMethodInterpreterException
public ATSymbol base_getName()
throws InterpreterException
ATMethod
base_getName in interface ATMethodInterpreterException
public ATTable base_getParameters()
throws InterpreterException
ATMethod
base_getParameters in interface ATMethodInterpreterException
public NATText meta_print()
throws InterpreterException
ATObject
meta_print in interface ATObjectmeta_print in class NATNilInterpreterException
public ATTable meta_getStripes()
throws InterpreterException
ATObject
meta_getStripes in interface ATObjectmeta_getStripes in class NATNilInterpreterException
public ATMethod base_asMethod()
throws XTypeMismatch
base_asMethod in interface ATConversionsbase_asMethod in class NATNilXTypeMismatchpublic boolean base_isMethod()
base_isMethod in interface ATConversionsbase_isMethod in class NATNilpublic 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 | ||||||||||