|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.luaj.vm2.Varargs
org.luaj.vm2.LuaValue
org.luaj.vm2.LuaFunction
org.luaj.vm2.lib.LibFunction
org.luaj.vm2.lib.VarArgFunction
public abstract class VarArgFunction
Abstract base class for Java function implementations that takes varaiable arguments and returns multiple return values.
Subclasses need only implement LuaValue.invoke(Varargs) to complete this class,
simplifying development.
All other uses of call(LuaValue), LuaValue.invoke(),etc,
are routed through this method by this class,
converting arguments to and
dropping or extending return values with nil values as required.
If between one and three arguments are required, and only one return value is returned,
ZeroArgFunction, OneArgFunction, TwoArgFunction, or ThreeArgFunction.
See LibFunction for more information on implementation libraries and library functions.
invoke(Varargs),
LibFunction,
ZeroArgFunction,
OneArgFunction,
TwoArgFunction,
ThreeArgFunction| Field Summary |
|---|
| Fields inherited from class org.luaj.vm2.lib.LibFunction |
|---|
name, opcode |
| Fields inherited from class org.luaj.vm2.LuaFunction |
|---|
env, s_metatable |
| Fields inherited from class org.luaj.vm2.LuaValue |
|---|
ADD, CALL, CONCAT, DIV, EMPTYSTRING, EQ, FALSE, INDEX, LE, LEN, LT, METATABLE, MINUSONE, MOD, MODE, MUL, NEWINDEX, NIL, NILS, NONE, NOVALS, ONE, POW, SUB, TBOOLEAN, TFUNCTION, TINT, TLIGHTUSERDATA, TNIL, TNONE, TNUMBER, TOSTRING, TRUE, TSTRING, TTABLE, TTHREAD, TUSERDATA, TVALUE, TYPE_NAMES, UNM, ZERO |
| Constructor Summary | |
|---|---|
VarArgFunction()
|
|
VarArgFunction(LuaValue env)
|
|
| Method Summary | |
|---|---|
LuaValue |
call()
Call this with 0 arguments, including metatag processing,
and return only the first return value. |
LuaValue |
call(LuaValue arg)
Call this with 1 argument, including metatag processing,
and return only the first return value. |
LuaValue |
call(LuaValue arg1,
LuaValue arg2)
Call this with 2 arguments, including metatag processing,
and return only the first return value. |
LuaValue |
call(LuaValue arg1,
LuaValue arg2,
LuaValue arg3)
Call this with 3 arguments, including metatag processing,
and return only the first return value. |
Varargs |
invoke(Varargs args)
Override and implement for the best performance. |
Varargs |
onInvoke(Varargs args)
Override to provide a call implementation that runs in an environment that can participate in setfenv, and behaves as expected when returning TailcallVarargs. |
| Methods inherited from class org.luaj.vm2.lib.LibFunction |
|---|
bind, bind, newupe, newupl, newupn, tojstring |
| Methods inherited from class org.luaj.vm2.LuaFunction |
|---|
checkfunction, getfenv, getmetatable, isfunction, optfunction, setfenv, type, typename |
| Methods inherited from class org.luaj.vm2.Varargs |
|---|
argcheck, checkboolean, checkclosure, checkdouble, checkfunction, checkint, checkinteger, checkjstring, checklong, checknotnil, checknumber, checkstring, checktable, checkthread, checkuserdata, checkuserdata, checkvalue, eval, isfunction, isnil, isnoneornil, isnumber, isstring, istable, isTailcall, isthread, isuserdata, isvalue, optboolean, optclosure, optdouble, optfunction, optint, optinteger, optjstring, optlong, optnumber, optstring, opttable, optthread, optuserdata, optuserdata, optvalue, subargs, toboolean, tobyte, tochar, todouble, tofloat, toint, tojstring, tolong, toshort, touserdata, touserdata, type |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public VarArgFunction()
public VarArgFunction(LuaValue env)
| Method Detail |
|---|
public LuaValue call()
LuaValuethis with 0 arguments, including metatag processing,
and return only the first return value.
If this is a LuaFunction, call it,
and return only its first return value, dropping any others.
Otherwise, look for the CALL metatag and call that.
If the return value is a Varargs, only the 1st value will be returned.
To get multiple values, use LuaValue.invoke() instead.
To call this as a method call, use LuaValue.method(LuaValue) instead.
call in class LuaValue(this()), or NIL if there were none.LuaValue.call(LuaValue),
LuaValue.call(LuaValue,LuaValue),
LuaValue.call(LuaValue, LuaValue, LuaValue),
LuaValue.invoke(),
LuaValue.method(String),
LuaValue.method(LuaValue)public LuaValue call(LuaValue arg)
LuaValuethis with 1 argument, including metatag processing,
and return only the first return value.
If this is a LuaFunction, call it,
and return only its first return value, dropping any others.
Otherwise, look for the CALL metatag and call that.
If the return value is a Varargs, only the 1st value will be returned.
To get multiple values, use LuaValue.invoke() instead.
To call this as a method call, use LuaValue.method(LuaValue) instead.
call in class LuaValuearg - First argument to supply to the called function
(this(arg)), or NIL if there were none.LuaValue.call(),
LuaValue.call(LuaValue,LuaValue),
LuaValue.call(LuaValue, LuaValue, LuaValue),
#invoke(LuaValue),
LuaValue.method(String,LuaValue),
LuaValue.method(LuaValue,LuaValue)
public LuaValue call(LuaValue arg1,
LuaValue arg2)
LuaValuethis with 2 arguments, including metatag processing,
and return only the first return value.
If this is a LuaFunction, call it,
and return only its first return value, dropping any others.
Otherwise, look for the CALL metatag and call that.
If the return value is a Varargs, only the 1st value will be returned.
To get multiple values, use LuaValue.invoke() instead.
To call this as a method call, use LuaValue.method(LuaValue) instead.
call in class LuaValuearg1 - First argument to supply to the called functionarg2 - Second argument to supply to the called function
(this(arg1,arg2)), or NIL if there were none.LuaValue.call(),
LuaValue.call(LuaValue),
LuaValue.call(LuaValue, LuaValue, LuaValue),
#invoke(LuaValue,LuaValue),
LuaValue.method(String,LuaValue,LuaValue),
LuaValue.method(LuaValue,LuaValue,LuaValue)
public LuaValue call(LuaValue arg1,
LuaValue arg2,
LuaValue arg3)
LuaValuethis with 3 arguments, including metatag processing,
and return only the first return value.
If this is a LuaFunction, call it,
and return only its first return value, dropping any others.
Otherwise, look for the CALL metatag and call that.
If the return value is a Varargs, only the 1st value will be returned.
To get multiple values, use LuaValue.invoke() instead.
To call this as a method call, use LuaValue.method(LuaValue) instead.
call in class LuaValuearg1 - First argument to supply to the called functionarg2 - Second argument to supply to the called functionarg3 - Second argument to supply to the called function
(this(arg1,arg2,arg3)), or NIL if there were none.LuaValue.call(),
LuaValue.call(LuaValue),
LuaValue.call(LuaValue, LuaValue),
#invoke(LuaValue,LuaValue, LuaValue),
LuaValue.invokemethod(String,Varargs),
LuaValue.invokemethod(LuaValue,Varargs)public Varargs invoke(Varargs args)
invoke in class LuaValueargs - the arguments to the function call.
Varargs instance.LuaValue.varargsOf(LuaValue[]),
LuaValue.call(LuaValue),
LuaValue.invoke(),
LuaValue.invoke(LuaValue,Varargs),
LuaValue.invokemethod(String,Varargs),
LuaValue.invokemethod(LuaValue,Varargs)public Varargs onInvoke(Varargs args)
onInvoke in class LuaValueargs - the arguments to the function call.
LuaValue.call(),
LuaValue.invoke(),
LuaValue.method(LuaValue),
LuaValue.invokemethod(LuaValue)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||