Files
Terrarum/lib/javadoc/luaj-javadoc/org/luaj/vm2/LuaClosure.html
Song Minjae db8e46e5c2 Proper LuaJ library, moved javadoc to proper directories
Former-commit-id: 043c53ad3e9f0cb8f773ef5815397311c04fc8a4
Former-commit-id: b3dd82e122fc3e83b5ff02d1f911033d48d57825
2016-09-28 22:28:51 +09:00

898 lines
79 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_65) on Wed Apr 29 22:30:52 PDT 2015 -->
<TITLE>
LuaClosure (Luaj API)
</TITLE>
<META NAME="date" CONTENT="2015-04-29">
<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.
Normally the <A HREF="../../../org/luaj/vm2/LuaValue.html" title="class in org.luaj.vm2"><CODE>LuaValue</CODE></A> is a <A HREF="../../../org/luaj/vm2/Globals.html" title="class in org.luaj.vm2"><CODE>Globals</CODE></A> in which case the environment
will contain standard lua libraries.
<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/Globals.html#load(java.io.Reader, java.lang.String)"><CODE>Globals.load(java.io.Reader, String)</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>String script = "print( 'hello, world' )";
InputStream is = new ByteArrayInputStream(script.getBytes());
Prototype p = LuaC.instance.compile(is, "script");
LuaValue globals = JsePlatform.standardGlobals();
LuaClosure f = new LuaClosure(p, globals);
f.call();
</code></pre>
<p>
To construct it indirectly, the <A HREF="../../../org/luaj/vm2/Globals.html#load(java.io.Reader, java.lang.String)"><CODE>Globals.load(java.io.Reader, String)</CODE></A> method may be used:
<pre> <code>Globals globals = JsePlatform.standardGlobals();
LuaFunction f = globals.load(new StringReader(script), "script");
LuaClosure c = f.checkclosure(); // This may fail if LuaJC is installed.
c.call();
</code></pre>
<p>
In this example, the "checkclosure()" may fail if direct lua-to-java-bytecode
compiling using LuaJC is installed, because no LuaClosure is created in that case
and the value returned is a <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A> but not a <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#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/Globals.html#compiler"><CODE>Globals.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#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#ENV">ENV</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><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;Create a closure around a Prototype with a specific 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;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#name()">name</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a human-readable name for this function.</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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/luaj/vm2/LuaClosure.html#tojstring()">tojstring</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert to human readable String for any type.</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#classnamestub()">classnamestub</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#strvalue()">strvalue</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#call(java.lang.String)">call</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#checkglobals()">checkglobals</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#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#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#initupvalue1(org.luaj.vm2.LuaValue)">initupvalue1</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#isvalidkey()">isvalidkey</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#metatableOf(org.luaj.vm2.LuaValue)">metatableOf</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#rawlen()">rawlen</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#strongvalue()">strongvalue</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#subargs(int)">subargs</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#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#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 <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>Create a closure around a Prototype with a specific environment.
If the prototype has upvalues, the environment will be written into the first upvalue.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>p</CODE> - the Prototype to construct this Closure for.<DD><CODE>env</CODE> - the environment to associate with the closure.</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 <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></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 <A HREF="../../../org/luaj/vm2/LuaFunction.html" title="class in org.luaj.vm2"><CODE>LuaFunction</CODE></A> 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="tojstring()"><!-- --></A><H3>
tojstring</H3>
<PRE>
public java.lang.String <B>tojstring</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaValue.html#tojstring()">LuaValue</A></CODE></B></DD>
<DD>Convert to human readable String for any type.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaFunction.html#tojstring()">tojstring</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>String for use by human readers based on type.<DT><B>See Also:</B><DD><A HREF="../../../org/luaj/vm2/LuaValue.html#tostring()"><CODE>LuaValue.tostring()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#optjstring(java.lang.String)"><CODE>LuaValue.optjstring(String)</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#checkjstring()"><CODE>LuaValue.checkjstring()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#isstring()"><CODE>LuaValue.isstring()</CODE></A>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#TSTRING"><CODE>LuaValue.TSTRING</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 <A HREF="../../../org/luaj/vm2/LuaValue.html#CALL"><CODE>LuaValue.CALL</CODE></A> 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 <A HREF="../../../org/luaj/vm2/LuaValue.html#NIL"><CODE>LuaValue.NIL</CODE></A> 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 <A HREF="../../../org/luaj/vm2/LuaValue.html#CALL"><CODE>LuaValue.CALL</CODE></A> 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 <A HREF="../../../org/luaj/vm2/LuaValue.html#NIL"><CODE>LuaValue.NIL</CODE></A> 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>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.Varargs)"><CODE>LuaValue.invoke(Varargs)</CODE></A>,
<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 <A HREF="../../../org/luaj/vm2/LuaValue.html#CALL"><CODE>LuaValue.CALL</CODE></A> 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 <A HREF="../../../org/luaj/vm2/LuaValue.html#NIL"><CODE>LuaValue.NIL</CODE></A> 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>,
<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#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 <A HREF="../../../org/luaj/vm2/LuaValue.html#CALL"><CODE>LuaValue.CALL</CODE></A> 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 <A HREF="../../../org/luaj/vm2/LuaValue.html#NIL"><CODE>LuaValue.NIL</CODE></A> 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>,
<A HREF="../../../org/luaj/vm2/LuaValue.html#invoke(org.luaj.vm2.LuaValue, org.luaj.vm2.LuaValue, org.luaj.vm2.Varargs)"><CODE>LuaValue.invoke(LuaValue, 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="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 <A HREF="../../../org/luaj/vm2/LuaValue.html#CALL"><CODE>LuaValue.CALL</CODE></A> 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 final <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 one 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>
<HR>
<A NAME="name()"><!-- --></A><H3>
name</H3>
<PRE>
public java.lang.String <B>name</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../org/luaj/vm2/LuaFunction.html#name()">LuaFunction</A></CODE></B></DD>
<DD>Return a human-readable name for this function. Returns the last part of the class name by default.
Is overridden by LuaClosure to return the source file and line, and by LibFunctions to return the name.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/luaj/vm2/LuaFunction.html#name()">name</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>common name for this function.</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-2015 Luaj.org. All Rights Reserved.</i>
</BODY>
</HTML>