1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-05-15 05:44:11 +00:00
Daniel Ratcliffe e85cdacbc5 ComputerCraft 1.79 initial upload
Added the complete source code to ComputerCraft 1.79 for Minecraft
1.8.9, plus newly written README and LICENSE files for the open source
release.
2017-05-01 14:32:39 +01:00

858 lines
76 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_37) on Mon Jan 21 13:40:24 PST 2013 -->
<TITLE>
LuaClosure (Luaj API)
</TITLE>
<META NAME="date" CONTENT="2013-01-21">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="LuaClosure (Luaj API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LuaClosure.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/luaj/vm2/LuaBoolean.html" title="class in org.luaj.vm2"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/luaj/vm2/LuaDouble.html" title="class in org.luaj.vm2"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/luaj/vm2/LuaClosure.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="LuaClosure.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.luaj.vm2</FONT>
<BR>
Class LuaClosure</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">org.luaj.vm2.Varargs</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">org.luaj.vm2.LuaValue</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2">org.luaj.vm2.LuaFunction</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.luaj.vm2.LuaClosure</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>LuaClosure</B><DT>extends <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2">LuaFunction</A></DL>
</PRE>
<P>
Extension of <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A> which executes lua bytecode.
<p>
A <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> is a combination of a <A HREF="../../../org/luaj/vm2/Prototype.html" title="class in org.luaj.vm2"><CODE>Prototype</CODE></A>
and a <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2"><CODE>LuaValue</CODE></A> to use as an environment for execution.
<p>
There are three main ways <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> instances are created:
<ul>
<li>Construct an instance using <A HREF="../../../org/luaj/vm2/LuaClosure.html#LuaClosure(org.luaj.vm2.Prototype, org.luaj.vm2.LuaValue)"><CODE>LuaClosure(Prototype, LuaValue)</CODE></A></li>
<li>Construct it indirectly by loading a chunk via <A HREF="../../../org/luaj/vm2/LoadState.LuaCompiler.html#load(java.io.InputStream, java.lang.String, org.luaj.vm2.LuaValue)"><CODE>LoadState.LuaCompiler.load(java.io.InputStream, String, LuaValue)</CODE></A>
<li>Execute the lua bytecode <A HREF="../../../org/luaj/vm2/Lua.html#OP_CLOSURE"><CODE>Lua.OP_CLOSURE</CODE></A> as part of bytecode processing
</ul>
<p>
To construct it directly, the <A HREF="../../../org/luaj/vm2/Prototype.html" title="class in org.luaj.vm2"><CODE>Prototype</CODE></A> is typically created via a compiler such as <A HREF="../../../org/luaj/vm2/compiler/LuaC.html" title="class in org.luaj.vm2.compiler"><CODE>LuaC</CODE></A>:
<pre> <code>InputStream is = new ByteArrayInputStream("print('hello,world').getBytes());
Prototype p = LuaC.instance.compile(is, "script");
LuaValue _G = JsePlatform.standardGlobals()
LuaClosure f = new LuaClosure(p, _G);
</code></pre>
<p>
To construct it indirectly, the <A HREF="../../../org/luaj/vm2/compiler/LuaC.html" title="class in org.luaj.vm2.compiler"><CODE>LuaC</CODE></A> compiler may be used,
which implements the <A HREF="../../../org/luaj/vm2/LoadState.LuaCompiler.html" title="interface in org.luaj.vm2"><CODE>LoadState.LuaCompiler</CODE></A> interface:
<pre> <code>LuaFunction f = LuaC.instance.load(is, "script", _G);
</code></pre>
<p>
Typically, a closure that has just been loaded needs to be initialized by executing it,
and its return value can be saved if needed:
<pre> <code>LuaValue r = f.call();
_G.set( "mypkg", r )
</code></pre>
<p>
In the preceding, the loaded value is typed as <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A>
to allow for the possibility of other compilers such as <CODE>LuaJC</CODE>
producing <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A> directly without
creating a <A HREF="../../../org/luaj/vm2/Prototype.html" title="class in org.luaj.vm2"><CODE>Prototype</CODE></A> or <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A>.
<p>
Since a <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> is a <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A> which is a <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2"><CODE>LuaValue</CODE></A>,
all the value operations can be used directly such as:
<ul>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#setfenv(org.luaj.vm2.LuaValue)"><CODE>LuaValue.setfenv(LuaValue)</CODE></A></li>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#call()"><CODE>LuaValue.call()</CODE></A></li>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue)</CODE></A></li>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()"><CODE>LuaValue.invoke()</CODE></A></li>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.Varargs)"><CODE>LuaValue.invoke(Varargs)</CODE></A></li>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#method(java.lang.String)"><CODE>LuaValue.method(String)</CODE></A></li>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#method(java.lang.String, org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(String,LuaValue)</CODE></A></li>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(java.lang.String)"><CODE>LuaValue.invokemethod(String)</CODE></A></li>
<li><A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(java.lang.String, org.luaj.vm2.Varargs)"><CODE>LuaValue.invokemethod(String,Varargs)</CODE></A></li>
<li> ...</li>
</ul>
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2"><CODE>LuaValue</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#isclosure()"><CODE>LuaValue.isclosure()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#checkclosure()"><CODE>LuaValue.checkclosure()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#optclosure(org.luaj.vm2.LuaClosure)"><CODE>LuaValue.optclosure(LuaClosure)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LoadState.html" title="class in org.luaj.vm2"><CODE>LoadState</CODE></A>,
<A HREF="../../../org/luaj/vm2/LoadState.html#compiler"><CODE>LoadState.compiler</CODE></A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/Prototype.html" title="class in org.luaj.vm2">Prototype</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#p">p</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/UpValue.html" title="class in org.luaj.vm2">UpValue</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#upValues">upValues</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.luaj.vm2.LuaFunction"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.luaj.vm2.<A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2">LuaFunction</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/luaj/vm2/LuaFunction.html#env">env</A>, <A HREF="../../../org/luaj/vm2/LuaFunction.html#s_metatable">s_metatable</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.luaj.vm2.LuaValue"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.luaj.vm2.<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#ADD">ADD</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#CALL">CALL</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#CONCAT">CONCAT</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#DIV">DIV</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#EMPTYSTRING">EMPTYSTRING</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#EQ">EQ</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#FALSE">FALSE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#INDEX">INDEX</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#LE">LE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#LEN">LEN</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#LT">LT</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#METATABLE">METATABLE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#MINUSONE">MINUSONE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#MOD">MOD</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#MODE">MODE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#MUL">MUL</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#NEWINDEX">NEWINDEX</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#NIL">NIL</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#NILS">NILS</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#NONE">NONE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#NOVALS">NOVALS</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#ONE">ONE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#POW">POW</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#SUB">SUB</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TBOOLEAN">TBOOLEAN</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TFUNCTION">TFUNCTION</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TINT">TINT</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TLIGHTUSERDATA">TLIGHTUSERDATA</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TNIL">TNIL</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TNONE">TNONE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TNUMBER">TNUMBER</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TOSTRING">TOSTRING</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TRUE">TRUE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TSTRING">TSTRING</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TTABLE">TTABLE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TTHREAD">TTHREAD</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TUSERDATA">TUSERDATA</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TVALUE">TVALUE</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#TYPE_NAMES">TYPE_NAMES</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#UNM">UNM</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#ZERO">ZERO</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#LuaClosure(int, org.luaj.vm2.LuaValue)">LuaClosure</A></B>(int&nbsp;nupvalues,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;env)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#LuaClosure(org.luaj.vm2.Prototype, org.luaj.vm2.LuaValue)">LuaClosure</A></B>(<A HREF="../../../org/luaj/vm2/Prototype.html" title="class in org.luaj.vm2">Prototype</A>&nbsp;p,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;env)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Supply the initial environment</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#call()">call</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call <CODE>this</CODE> with 0 arguments, including metatag processing,
and return only the first return value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#call(org.luaj.vm2.LuaValue)">call</A></B>(<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call <CODE>this</CODE> with 1 argument, including metatag processing,
and return only the first return value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">call</A></B>(<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg1,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg2)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call <CODE>this</CODE> with 2 arguments, including metatag processing,
and return only the first return value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">call</A></B>(<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg1,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg2,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg3)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call <CODE>this</CODE> with 3 arguments, including metatag processing,
and return only the first return value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2">LuaClosure</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#checkclosure()">checkclosure</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that the value is a <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> ,
or throw <A HREF="../../../org/luaj/vm2/LuaError.html" title="class in org.luaj.vm2"><CODE>LuaError</CODE></A> if not</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#execute(org.luaj.vm2.LuaValue[], org.luaj.vm2.Varargs)">execute</A></B>(<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>[]&nbsp;stack,
<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A>&nbsp;varargs)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#getmetatable()">getmetatable</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the metatable for this <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2"><CODE>LuaValue</CODE></A></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#getUpvalue(int)">getUpvalue</A></B>(int&nbsp;i)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#invoke(org.luaj.vm2.Varargs)">invoke</A></B>(<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A>&nbsp;varargs)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call <CODE>this</CODE> with variable arguments, including metatag processing,
and retain all return values in a <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2"><CODE>Varargs</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#isclosure()">isclosure</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check if <code>this</code> is a <code>function</code> that is a closure,
meaning interprets lua bytecode for its execution</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#onInvoke(org.luaj.vm2.Varargs)">onInvoke</A></B>(<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A>&nbsp;varargs)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Callback used during tail call processing to invoke the function once.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2">LuaClosure</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#optclosure(org.luaj.vm2.LuaClosure)">optclosure</A></B>(<A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2">LuaClosure</A>&nbsp;defval)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that optional argument is a closure and return as <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#setUpvalue(int, org.luaj.vm2.LuaValue)">setUpvalue</A></B>(int&nbsp;i,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;v)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.luaj.vm2.LuaFunction"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.luaj.vm2.<A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2">LuaFunction</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/luaj/vm2/LuaFunction.html#checkfunction()">checkfunction</A>, <A HREF="../../../org/luaj/vm2/LuaFunction.html#getfenv()">getfenv</A>, <A HREF="../../../org/luaj/vm2/LuaFunction.html#isfunction()">isfunction</A>, <A HREF="../../../org/luaj/vm2/LuaFunction.html#optfunction(org.luaj.vm2.LuaFunction)">optfunction</A>, <A HREF="../../../org/luaj/vm2/LuaFunction.html#setfenv(org.luaj.vm2.LuaValue)">setfenv</A>, <A HREF="../../../org/luaj/vm2/LuaFunction.html#type()">type</A>, <A HREF="../../../org/luaj/vm2/LuaFunction.html#typename()">typename</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.luaj.vm2.LuaValue"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.luaj.vm2.<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#add(double)">add</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#add(int)">add</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#add(org.luaj.vm2.LuaValue)">add</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#and(org.luaj.vm2.LuaValue)">and</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#arg(int)">arg</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#arg1()">arg1</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#argerror(int, java.lang.String)">argerror</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#argerror(java.lang.String)">argerror</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#aritherror()">aritherror</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#aritherror(java.lang.String)">aritherror</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#arithmt(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">arithmt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#arithmtwith(org.luaj.vm2.LuaValue, double)">arithmtwith</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#assert_(boolean, java.lang.String)">assert_</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#buffer()">buffer</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#callmt()">callmt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkboolean()">checkboolean</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkdouble()">checkdouble</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkint()">checkint</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkinteger()">checkinteger</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkjstring()">checkjstring</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checklong()">checklong</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkmetatag(org.luaj.vm2.LuaValue, java.lang.String)">checkmetatag</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checknotnil()">checknotnil</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checknumber()">checknumber</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checknumber(java.lang.String)">checknumber</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkstring()">checkstring</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checktable()">checktable</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkthread()">checkthread</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkuserdata()">checkuserdata</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkuserdata(java.lang.Class)">checkuserdata</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#checkvalidkey()">checkvalidkey</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#compareerror(org.luaj.vm2.LuaValue)">compareerror</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#compareerror(java.lang.String)">compareerror</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#comparemt(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">comparemt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#concat(org.luaj.vm2.Buffer)">concat</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#concat(org.luaj.vm2.LuaValue)">concat</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#concatmt(org.luaj.vm2.LuaValue)">concatmt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#concatTo(org.luaj.vm2.LuaNumber)">concatTo</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#concatTo(org.luaj.vm2.LuaString)">concatTo</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#concatTo(org.luaj.vm2.LuaValue)">concatTo</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#div(double)">div</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#div(int)">div</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#div(org.luaj.vm2.LuaValue)">div</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#divInto(double)">divInto</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#eq_b(org.luaj.vm2.LuaValue)">eq_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#eq(org.luaj.vm2.LuaValue)">eq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#eqmtcall(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">eqmtcall</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#equals(java.lang.Object)">equals</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#error(java.lang.String)">error</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#get(int)">get</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#get(org.luaj.vm2.LuaValue)">get</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#get(java.lang.String)">get</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#getn()">getn</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gettable(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">gettable</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gt_b(double)">gt_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gt_b(int)">gt_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gt_b(org.luaj.vm2.LuaValue)">gt_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gt(double)">gt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gt(int)">gt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gt(org.luaj.vm2.LuaValue)">gt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gteq_b(double)">gteq_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gteq_b(int)">gteq_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gteq_b(org.luaj.vm2.LuaValue)">gteq_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gteq(double)">gteq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gteq(int)">gteq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#gteq(org.luaj.vm2.LuaValue)">gteq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#illegal(java.lang.String, java.lang.String)">illegal</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#inext(org.luaj.vm2.LuaValue)">inext</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()">invoke</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.LuaValue[])">invoke</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.LuaValue[], org.luaj.vm2.Varargs)">invoke</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)">invoke</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)">invoke</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(org.luaj.vm2.LuaValue)">invokemethod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue[])">invokemethod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)">invokemethod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(java.lang.String)">invokemethod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(java.lang.String, org.luaj.vm2.LuaValue[])">invokemethod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(java.lang.String, org.luaj.vm2.Varargs)">invokemethod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isboolean()">isboolean</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isint()">isint</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isinttype()">isinttype</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#islong()">islong</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isnil()">isnil</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isnumber()">isnumber</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isstring()">isstring</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#istable()">istable</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isthread()">isthread</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isuserdata()">isuserdata</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isuserdata(java.lang.Class)">isuserdata</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#isweaknil()">isweaknil</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#len()">len</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lenerror()">lenerror</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#length()">length</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#listOf(org.luaj.vm2.LuaValue[])">listOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#listOf(org.luaj.vm2.LuaValue[], org.luaj.vm2.Varargs)">listOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#load(org.luaj.vm2.LuaValue)">load</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lt_b(double)">lt_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lt_b(int)">lt_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lt_b(org.luaj.vm2.LuaValue)">lt_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lt(double)">lt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lt(int)">lt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lt(org.luaj.vm2.LuaValue)">lt</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lteq_b(double)">lteq_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lteq_b(int)">lteq_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lteq_b(org.luaj.vm2.LuaValue)">lteq_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lteq(double)">lteq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lteq(int)">lteq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#lteq(org.luaj.vm2.LuaValue)">lteq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#metatag(org.luaj.vm2.LuaValue)">metatag</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue)">method</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">method</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">method</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#method(java.lang.String)">method</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#method(java.lang.String, org.luaj.vm2.LuaValue)">method</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#method(java.lang.String, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">method</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#mod(double)">mod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#mod(int)">mod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#mod(org.luaj.vm2.LuaValue)">mod</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#modFrom(double)">modFrom</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#mul(double)">mul</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#mul(int)">mul</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#mul(org.luaj.vm2.LuaValue)">mul</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#narg()">narg</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#neg()">neg</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#neq_b(org.luaj.vm2.LuaValue)">neq_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#neq(org.luaj.vm2.LuaValue)">neq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#next(org.luaj.vm2.LuaValue)">next</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#not()">not</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optboolean(boolean)">optboolean</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optdouble(double)">optdouble</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optint(int)">optint</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optinteger(org.luaj.vm2.LuaInteger)">optinteger</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optjstring(java.lang.String)">optjstring</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optlong(long)">optlong</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optnumber(org.luaj.vm2.LuaNumber)">optnumber</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optstring(org.luaj.vm2.LuaString)">optstring</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#opttable(org.luaj.vm2.LuaTable)">opttable</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optthread(org.luaj.vm2.LuaThread)">optthread</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optuserdata(java.lang.Class, java.lang.Object)">optuserdata</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optuserdata(java.lang.Object)">optuserdata</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#optvalue(org.luaj.vm2.LuaValue)">optvalue</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#or(org.luaj.vm2.LuaValue)">or</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#pow(double)">pow</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#pow(int)">pow</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#pow(org.luaj.vm2.LuaValue)">pow</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#powWith(double)">powWith</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#powWith(int)">powWith</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#presize(int)">presize</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#raweq(double)">raweq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#raweq(int)">raweq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#raweq(org.luaj.vm2.LuaString)">raweq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#raweq(org.luaj.vm2.LuaUserdata)">raweq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#raweq(org.luaj.vm2.LuaValue)">raweq</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawget(int)">rawget</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawget(org.luaj.vm2.LuaValue)">rawget</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawget(java.lang.String)">rawget</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawset(int, org.luaj.vm2.LuaValue)">rawset</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawset(int, java.lang.String)">rawset</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawset(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">rawset</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawset(java.lang.String, double)">rawset</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawset(java.lang.String, int)">rawset</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawset(java.lang.String, org.luaj.vm2.LuaValue)">rawset</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawset(java.lang.String, java.lang.String)">rawset</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#rawsetlist(int, org.luaj.vm2.Varargs)">rawsetlist</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#set(int, org.luaj.vm2.LuaValue)">set</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#set(int, java.lang.String)">set</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#set(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">set</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#set(java.lang.String, double)">set</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#set(java.lang.String, int)">set</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#set(java.lang.String, org.luaj.vm2.LuaValue)">set</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#set(java.lang.String, java.lang.String)">set</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#setmetatable(org.luaj.vm2.LuaValue)">setmetatable</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#settable(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">settable</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#strcmp(org.luaj.vm2.LuaString)">strcmp</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#strcmp(org.luaj.vm2.LuaValue)">strcmp</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#strongkey()">strongkey</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#strongvalue()">strongvalue</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#strvalue()">strvalue</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#sub(double)">sub</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#sub(int)">sub</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#sub(org.luaj.vm2.LuaValue)">sub</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#subFrom(double)">subFrom</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#subFrom(int)">subFrom</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tableOf()">tableOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tableOf(int, int)">tableOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tableOf(org.luaj.vm2.LuaValue[])">tableOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tableOf(org.luaj.vm2.LuaValue[], org.luaj.vm2.LuaValue[])">tableOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tableOf(org.luaj.vm2.LuaValue[], org.luaj.vm2.LuaValue[], org.luaj.vm2.Varargs)">tableOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tableOf(org.luaj.vm2.Varargs, int)">tableOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tailcallOf(org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)">tailcallOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#testfor_b(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">testfor_b</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#toboolean()">toboolean</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tobyte()">tobyte</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tochar()">tochar</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#todouble()">todouble</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tofloat()">tofloat</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#toint()">toint</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tojstring()">tojstring</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tolong()">tolong</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tonumber()">tonumber</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#toshort()">toshort</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#tostring()">tostring</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#toString()">toString</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#touserdata()">touserdata</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#touserdata(java.lang.Class)">touserdata</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#typerror(java.lang.String)">typerror</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#unimplemented(java.lang.String)">unimplemented</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#userdataOf(java.lang.Object)">userdataOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#userdataOf(java.lang.Object, org.luaj.vm2.LuaValue)">userdataOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#valueOf(boolean)">valueOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#valueOf(byte[])">valueOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#valueOf(byte[], int, int)">valueOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#valueOf(double)">valueOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#valueOf(int)">valueOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#valueOf(java.lang.String)">valueOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#varargsOf(org.luaj.vm2.LuaValue[])">varargsOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#varargsOf(org.luaj.vm2.LuaValue[], int, int)">varargsOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#varargsOf(org.luaj.vm2.LuaValue[], int, int, org.luaj.vm2.Varargs)">varargsOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#varargsOf(org.luaj.vm2.LuaValue[], org.luaj.vm2.Varargs)">varargsOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#varargsOf(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)">varargsOf</A>, <A HREF="../../../org/luaj/vm2/LuaValue.html#varargsOf(org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)">varargsOf</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.luaj.vm2.Varargs"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.luaj.vm2.<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/luaj/vm2/Varargs.html#argcheck(boolean, int, java.lang.String)">argcheck</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkboolean(int)">checkboolean</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkclosure(int)">checkclosure</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkdouble(int)">checkdouble</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkfunction(int)">checkfunction</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkint(int)">checkint</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkinteger(int)">checkinteger</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkjstring(int)">checkjstring</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checklong(int)">checklong</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checknotnil(int)">checknotnil</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checknumber(int)">checknumber</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkstring(int)">checkstring</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checktable(int)">checktable</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkthread(int)">checkthread</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkuserdata(int)">checkuserdata</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkuserdata(int, java.lang.Class)">checkuserdata</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#checkvalue(int)">checkvalue</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#eval()">eval</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isfunction(int)">isfunction</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isnil(int)">isnil</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isnoneornil(int)">isnoneornil</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isnumber(int)">isnumber</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isstring(int)">isstring</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#istable(int)">istable</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isTailcall()">isTailcall</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isthread(int)">isthread</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isuserdata(int)">isuserdata</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#isvalue(int)">isvalue</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optboolean(int, boolean)">optboolean</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optclosure(int, org.luaj.vm2.LuaClosure)">optclosure</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optdouble(int, double)">optdouble</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optfunction(int, org.luaj.vm2.LuaFunction)">optfunction</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optint(int, int)">optint</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optinteger(int, org.luaj.vm2.LuaInteger)">optinteger</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optjstring(int, java.lang.String)">optjstring</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optlong(int, long)">optlong</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optnumber(int, org.luaj.vm2.LuaNumber)">optnumber</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optstring(int, org.luaj.vm2.LuaString)">optstring</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#opttable(int, org.luaj.vm2.LuaTable)">opttable</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optthread(int, org.luaj.vm2.LuaThread)">optthread</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optuserdata(int, java.lang.Class, java.lang.Object)">optuserdata</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optuserdata(int, java.lang.Object)">optuserdata</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#optvalue(int, org.luaj.vm2.LuaValue)">optvalue</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#subargs(int)">subargs</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#toboolean(int)">toboolean</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#tobyte(int)">tobyte</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#tochar(int)">tochar</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#todouble(int)">todouble</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#tofloat(int)">tofloat</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#toint(int)">toint</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#tojstring(int)">tojstring</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#tolong(int)">tolong</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#toshort(int)">toshort</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#touserdata(int)">touserdata</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#touserdata(int, java.lang.Class)">touserdata</A>, <A HREF="../../../org/luaj/vm2/Varargs.html#type(int)">type</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="p"><!-- --></A><H3>
p</H3>
<PRE>
public final <A HREF="../../../org/luaj/vm2/Prototype.html" title="class in org.luaj.vm2">Prototype</A> <B>p</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="upValues"><!-- --></A><H3>
upValues</H3>
<PRE>
public final <A HREF="../../../org/luaj/vm2/UpValue.html" title="class in org.luaj.vm2">UpValue</A>[] <B>upValues</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="LuaClosure(org.luaj.vm2.Prototype, org.luaj.vm2.LuaValue)"><!-- --></A><H3>
LuaClosure</H3>
<PRE>
public <B>LuaClosure</B>(<A HREF="../../../org/luaj/vm2/Prototype.html" title="class in org.luaj.vm2">Prototype</A>&nbsp;p,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;env)</PRE>
<DL>
<DD>Supply the initial environment
<P>
</DL>
<HR>
<A NAME="LuaClosure(int, org.luaj.vm2.LuaValue)"><!-- --></A><H3>
LuaClosure</H3>
<PRE>
protected <B>LuaClosure</B>(int&nbsp;nupvalues,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;env)</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="isclosure()"><!-- --></A><H3>
isclosure</H3>
<PRE>
public boolean <B>isclosure</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#isclosure()">LuaValue</A></CODE></B></DD>
<DD>Check if <code>this</code> is a <code>function</code> that is a closure,
meaning interprets lua bytecode for its execution
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#isclosure()">isclosure</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if this is a <code>closure</code>, otherwise false<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#isfunction()"><CODE>LuaValue.isfunction()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#checkclosure()"><CODE>LuaValue.checkclosure()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#optclosure(org.luaj.vm2.LuaClosure)"><CODE>LuaValue.optclosure(LuaClosure)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#TFUNCTION"><CODE>LuaValue.TFUNCTION</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="optclosure(org.luaj.vm2.LuaClosure)"><!-- --></A><H3>
optclosure</H3>
<PRE>
public <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2">LuaClosure</A> <B>optclosure</B>(<A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2">LuaClosure</A>&nbsp;defval)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#optclosure(org.luaj.vm2.LuaClosure)">LuaValue</A></CODE></B></DD>
<DD>Check that optional argument is a closure and return as <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A>
<p>
A <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> is a that executes lua byteccode.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#optclosure(org.luaj.vm2.LuaClosure)">optclosure</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>defval</CODE> - <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> to return if <code>this</code> is nil or none
<DT><B>Returns:</B><DD><code>this</code> cast to <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> if a function,
<code>defval</code> if nil or none,
throws <A HREF="../../../org/luaj/vm2/LuaError.html" title="class in org.luaj.vm2"><CODE>LuaError</CODE></A> otherwise<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#checkclosure()"><CODE>LuaValue.checkclosure()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#isclosure()"><CODE>LuaValue.isclosure()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#TFUNCTION"><CODE>LuaValue.TFUNCTION</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="checkclosure()"><!-- --></A><H3>
checkclosure</H3>
<PRE>
public <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2">LuaClosure</A> <B>checkclosure</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#checkclosure()">LuaValue</A></CODE></B></DD>
<DD>Check that the value is a <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> ,
or throw <A HREF="../../../org/luaj/vm2/LuaError.html" title="class in org.luaj.vm2"><CODE>LuaError</CODE></A> if not
<p>
<A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A> is a subclass of that interprets lua bytecode.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#checkclosure()">checkclosure</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>this</code> cast as <A HREF="../../../org/luaj/vm2/LuaClosure.html" title="class in org.luaj.vm2"><CODE>LuaClosure</CODE></A><DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#checkfunction()"><CODE>LuaValue.checkfunction()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#optclosure(org.luaj.vm2.LuaClosure)"><CODE>LuaValue.optclosure(LuaClosure)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#isclosure()"><CODE>LuaValue.isclosure()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#TFUNCTION"><CODE>LuaValue.TFUNCTION</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getmetatable()"><!-- --></A><H3>
getmetatable</H3>
<PRE>
public <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A> <B>getmetatable</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#getmetatable()">LuaValue</A></CODE></B></DD>
<DD>Get the metatable for this <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2"><CODE>LuaValue</CODE></A>
<p>
For <A HREF="../../../org/luaj/vm2/LuaTable.html" title="class in org.luaj.vm2"><CODE>LuaTable</CODE></A> and <A HREF="../../../org/luaj/vm2/LuaUserdata.html" title="class in org.luaj.vm2"><CODE>LuaUserdata</CODE></A> instances,
the metatable returned is this instance metatable.
For all other types, the class metatable value will be returned.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaFunction.html#getmetatable()">getmetatable</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2">LuaFunction</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>metatable, or null if it there is none<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaBoolean.html#s_metatable"><CODE>LuaBoolean.s_metatable</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaNumber.html#s_metatable"><CODE>LuaNumber.s_metatable</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaNil.html#s_metatable"><CODE>LuaNil.s_metatable</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaFunction.html#s_metatable"><CODE>LuaFunction.s_metatable</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaThread.html#s_metatable"><CODE>LuaThread.s_metatable</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="call()"><!-- --></A><H3>
call</H3>
<PRE>
public final <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A> <B>call</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#call()">LuaValue</A></CODE></B></DD>
<DD>Call <CODE>this</CODE> with 0 arguments, including metatag processing,
and return only the first return value.
<p>
If <code>this</code> is a <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A>, call it,
and return only its first return value, dropping any others.
Otherwise, look for the <CODE>CALL</CODE> metatag and call that.
<p>
If the return value is a <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2"><CODE>Varargs</CODE></A>, only the 1st value will be returned.
To get multiple values, use <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()"><CODE>LuaValue.invoke()</CODE></A> instead.
<p>
To call <CODE>this</CODE> as a method call, use <A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(LuaValue)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#call()">call</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>First return value <code>(this())</code>, or <CODE>NIL</CODE> if there were none.<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue,LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue, LuaValue, LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()"><CODE>LuaValue.invoke()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#method(java.lang.String)"><CODE>LuaValue.method(String)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(LuaValue)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="call(org.luaj.vm2.LuaValue)"><!-- --></A><H3>
call</H3>
<PRE>
public final <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A> <B>call</B>(<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue)">LuaValue</A></CODE></B></DD>
<DD>Call <CODE>this</CODE> with 1 argument, including metatag processing,
and return only the first return value.
<p>
If <code>this</code> is a <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A>, call it,
and return only its first return value, dropping any others.
Otherwise, look for the <CODE>CALL</CODE> metatag and call that.
<p>
If the return value is a <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2"><CODE>Varargs</CODE></A>, only the 1st value will be returned.
To get multiple values, use <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()"><CODE>LuaValue.invoke()</CODE></A> instead.
<p>
To call <CODE>this</CODE> as a method call, use <A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(LuaValue)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue)">call</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>arg</CODE> - First argument to supply to the called function
<DT><B>Returns:</B><DD>First return value <code>(this(arg))</code>, or <CODE>NIL</CODE> if there were none.<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#call()"><CODE>LuaValue.call()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue,LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue, LuaValue, LuaValue)</CODE></A>,
<CODE>#invoke(LuaValue)</CODE>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#method(java.lang.String, org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(String,LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(LuaValue,LuaValue)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><!-- --></A><H3>
call</H3>
<PRE>
public final <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A> <B>call</B>(<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg1,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg2)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">LuaValue</A></CODE></B></DD>
<DD>Call <CODE>this</CODE> with 2 arguments, including metatag processing,
and return only the first return value.
<p>
If <code>this</code> is a <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A>, call it,
and return only its first return value, dropping any others.
Otherwise, look for the <CODE>CALL</CODE> metatag and call that.
<p>
If the return value is a <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2"><CODE>Varargs</CODE></A>, only the 1st value will be returned.
To get multiple values, use <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()"><CODE>LuaValue.invoke()</CODE></A> instead.
<p>
To call <CODE>this</CODE> as a method call, use <A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(LuaValue)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">call</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>arg1</CODE> - First argument to supply to the called function<DD><CODE>arg2</CODE> - Second argument to supply to the called function
<DT><B>Returns:</B><DD>First return value <code>(this(arg1,arg2))</code>, or <CODE>NIL</CODE> if there were none.<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#call()"><CODE>LuaValue.call()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue, LuaValue, LuaValue)</CODE></A>,
<CODE>#invoke(LuaValue,LuaValue)</CODE>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#method(java.lang.String, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(String,LuaValue,LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(LuaValue,LuaValue,LuaValue)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><!-- --></A><H3>
call</H3>
<PRE>
public final <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A> <B>call</B>(<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg1,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg2,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;arg3)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">LuaValue</A></CODE></B></DD>
<DD>Call <CODE>this</CODE> with 3 arguments, including metatag processing,
and return only the first return value.
<p>
If <code>this</code> is a <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A>, call it,
and return only its first return value, dropping any others.
Otherwise, look for the <CODE>CALL</CODE> metatag and call that.
<p>
If the return value is a <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2"><CODE>Varargs</CODE></A>, only the 1st value will be returned.
To get multiple values, use <A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()"><CODE>LuaValue.invoke()</CODE></A> instead.
<p>
To call <CODE>this</CODE> as a method call, use <A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(LuaValue)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)">call</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>arg1</CODE> - First argument to supply to the called function<DD><CODE>arg2</CODE> - Second argument to supply to the called function<DD><CODE>arg3</CODE> - Second argument to supply to the called function
<DT><B>Returns:</B><DD>First return value <code>(this(arg1,arg2,arg3))</code>, or <CODE>NIL</CODE> if there were none.<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#call()"><CODE>LuaValue.call()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue, LuaValue)</CODE></A>,
<CODE>#invoke(LuaValue,LuaValue, LuaValue)</CODE>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(java.lang.String, org.luaj.vm2.Varargs)"><CODE>LuaValue.invokemethod(String,Varargs)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)"><CODE>LuaValue.invokemethod(LuaValue,Varargs)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="invoke(org.luaj.vm2.Varargs)"><!-- --></A><H3>
invoke</H3>
<PRE>
public final <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A> <B>invoke</B>(<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A>&nbsp;varargs)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.Varargs)">LuaValue</A></CODE></B></DD>
<DD>Call <CODE>this</CODE> with variable arguments, including metatag processing,
and retain all return values in a <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2"><CODE>Varargs</CODE></A>.
<p>
If <code>this</code> is a <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A>, call it, and return all values.
Otherwise, look for the <CODE>CALL</CODE> metatag and call that.
<p>
To get a particular return value, us <A HREF="../../../org/luaj/vm2/Varargs.html#arg(int)"><CODE>Varargs.arg(int)</CODE></A>
<p>
To call <CODE>this</CODE> as a method call, use <A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(org.luaj.vm2.LuaValue)"><CODE>LuaValue.invokemethod(LuaValue)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.Varargs)">invoke</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>varargs</CODE> - Varargs containing the arguments to supply to the called function
<DT><B>Returns:</B><DD>All return values as a <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2"><CODE>Varargs</CODE></A> instance.<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#varargsOf(org.luaj.vm2.LuaValue[])"><CODE>LuaValue.varargsOf(LuaValue[])</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#call(org.luaj.vm2.LuaValue)"><CODE>LuaValue.call(LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()"><CODE>LuaValue.invoke()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)"><CODE>LuaValue.invoke(LuaValue,Varargs)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(java.lang.String, org.luaj.vm2.Varargs)"><CODE>LuaValue.invokemethod(String,Varargs)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)"><CODE>LuaValue.invokemethod(LuaValue,Varargs)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="onInvoke(org.luaj.vm2.Varargs)"><!-- --></A><H3>
onInvoke</H3>
<PRE>
public <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A> <B>onInvoke</B>(<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A>&nbsp;varargs)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#onInvoke(org.luaj.vm2.Varargs)">LuaValue</A></CODE></B></DD>
<DD>Callback used during tail call processing to invoke the function once.
<p>
This may return a <A HREF="../../../org/luaj/vm2/TailcallVarargs.html" title="class in org.luaj.vm2"><CODE>TailcallVarargs</CODE></A> to be evaluated by the client.
<p>
This should not be called directly, instead use on of the call invocation functions.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#onInvoke(org.luaj.vm2.Varargs)">onInvoke</A></CODE> in class <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>varargs</CODE> - the arguments to the call invocation.
<DT><B>Returns:</B><DD>Varargs the return values, possible a TailcallVarargs.<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#call()"><CODE>LuaValue.call()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invoke()"><CODE>LuaValue.invoke()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#method(org.luaj.vm2.LuaValue)"><CODE>LuaValue.method(LuaValue)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invokemethod(org.luaj.vm2.LuaValue)"><CODE>LuaValue.invokemethod(LuaValue)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="execute(org.luaj.vm2.LuaValue[], org.luaj.vm2.Varargs)"><!-- --></A><H3>
execute</H3>
<PRE>
protected <A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A> <B>execute</B>(<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>[]&nbsp;stack,
<A HREF="../../../org/luaj/vm2/Varargs.html" title="class in org.luaj.vm2">Varargs</A>&nbsp;varargs)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getUpvalue(int)"><!-- --></A><H3>
getUpvalue</H3>
<PRE>
protected <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A> <B>getUpvalue</B>(int&nbsp;i)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setUpvalue(int, org.luaj.vm2.LuaValue)"><!-- --></A><H3>
setUpvalue</H3>
<PRE>
protected void <B>setUpvalue</B>(int&nbsp;i,
<A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2">LuaValue</A>&nbsp;v)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LuaClosure.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../org/luaj/vm2/LuaBoolean.html" title="class in org.luaj.vm2"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/luaj/vm2/LuaDouble.html" title="class in org.luaj.vm2"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/luaj/vm2/LuaClosure.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="LuaClosure.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<i>Copyright &#169; 2007-2008 Luaj.org. All Rights Reserved.</i>
</BODY>
</HTML>