An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

7750 lines
409 KiB

<?xml version="1.0"?>
<doc>
<assembly>
<name>MoonSharp.Interpreter</name>
</assembly>
<members>
<member name="T:MoonSharp.Interpreter.CoreLib.CoroutineModule">
<summary>
Class implementing coroutine Lua functions
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.BasicModule">
<summary>
Class implementing basic Lua functions (print, type, tostring, etc) as a MoonSharp module.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.DebugModule">
<summary>
Class implementing debug Lua functions. Support for the debug module is partial.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.DynamicModule">
<summary>
Class implementing dynamic expression evaluations at runtime (a MoonSharp addition).
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.ErrorHandlingModule">
<summary>
Class implementing error handling Lua functions (pcall and xpcall)
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.IO.FileUserData">
<summary>
Abstract class implementing a file Lua userdata. Methods are meant to be called by Lua code.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.IO.FileUserDataBase">
<summary>
Abstract class implementing a file Lua userdata. Methods are meant to be called by Lua code.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.IO.StandardIOFileUserDataBase">
<summary>
Abstract class implementing an unclosable file Lua userdata. Methods are meant to be called by Lua code.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.IO.StreamFileUserDataBase">
<summary>
Abstract class implementing a file Lua userdata. Methods are meant to be called by Lua code.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.IO.NamespaceDoc">
<summary>
Namespace containing userdata classes for the 'io' module
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.IoModule">
<summary>
Class implementing io Lua functions. Proper support requires a compatible IPlatformAccessor
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.LoadModule">
<summary>
Class implementing loading Lua functions like 'require', 'load', etc.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.Bit32Module">
<summary>
Class implementing bit32 Lua functions
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.MathModule">
<summary>
Class implementing math Lua functions
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.MetaTableModule">
<summary>
Class implementing metatable related Lua functions (xxxmetatable and rawxxx).
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.OsSystemModule">
<summary>
Class implementing system related Lua functions from the 'os' module.
Proper support requires a compatible IPlatformAccessor
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.OsTimeModule">
<summary>
Class implementing time related Lua functions from the 'os' module.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.StringModule">
<summary>
Class implementing string Lua functions
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.TableIteratorsModule">
<summary>
Class implementing table Lua iterators (pairs, ipairs, next)
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.TableModule">
<summary>
Class implementing table Lua functions
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.TableModule_Globals">
<summary>
Class exposing table.unpack and table.pack in the global namespace (to work around the most common Lua 5.1 compatibility issue).
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CoreLib.NamespaceDoc">
<summary>
Namespace containing the implementation of the Lua standard library, as MoonSharp modules.
There's seldom the need to access these classes directly.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.DataStructs.MultiDictionary`2">
<summary>
A Dictionary where multiple values can be associated to the same key
</summary>
<typeparam name="K">The key type</typeparam>
<typeparam name="V">The value type</typeparam>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.DataStructs.MultiDictionary`2"/> class.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.DataStructs.MultiDictionary`2"/> class.
</summary>
<param name="eqComparer">The equality comparer to use in the underlying dictionary.</param>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.Add(`0,`1)">
<summary>
Adds the specified key. Returns true if this is the first value for a given key
</summary>
<param name="key">The key.</param>
<param name="value">The value.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.Find(`0)">
<summary>
Finds all the values associated with the specified key.
An empty collection is returned if not found.
</summary>
<param name="key">The key.</param>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.ContainsKey(`0)">
<summary>
Determines whether this contains the specified key
</summary>
<param name="key">The key.</param>
</member>
<member name="P:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.Keys">
<summary>
Gets the keys.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.Clear">
<summary>
Clears this instance.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.Remove(`0)">
<summary>
Removes the specified key and all its associated values from the multidictionary
</summary>
<param name="key">The key.</param>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.MultiDictionary`2.RemoveValue(`0,`1)">
<summary>
Removes the value. Returns true if the removed value was the last of a given key
</summary>
<param name="key">The key.</param>
<param name="value">The value.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.DataStructs.ReferenceEqualityComparer">
<summary>
Implementation of IEqualityComparer enforcing reference equality
</summary>
</member>
<member name="T:MoonSharp.Interpreter.DataStructs.FastStackDynamic`1">
<summary>
A non preallocated, non_fixed size stack
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="T:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2">
<summary>
An index to accelerate operations on a LinkedList<typeparamref name="TValue"/> using a single key of type <typeparamref name="TKey"/>
More than one LinkedListIndex can index the same linked list, but every node in the linked list must be indexed by one and only one
LinkedListIndex object.
</summary>
<typeparam name="TKey">The type of the key. Must implement Equals and GetHashCode appropriately.</typeparam>
<typeparam name="TValue">The type of the values contained in the linked list.</typeparam>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2.#ctor(System.Collections.Generic.LinkedList{`1})">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2"/> class.
</summary>
<param name="linkedList">The linked list to be indexed.</param>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2.Find(`0)">
<summary>
Finds the node indexed by the specified key, or null.
</summary>
<param name="key">The key.</param>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2.Set(`0,`1)">
<summary>
Updates or creates a new node in the linked list, indexed by the specified key.
</summary>
<param name="key">The key.</param>
<param name="value">The value.</param>
<returns>The previous value of the element</returns>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2.Add(`0,`1)">
<summary>
Creates a new node in the linked list, indexed by the specified key.
</summary>
<param name="key">The key.</param>
<param name="value">The value.</param>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2.Remove(`0)">
<summary>
Removes the specified key from the index, and the node indexed by the key from the linked list.
</summary>
<param name="key">The key.</param>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2.ContainsKey(`0)">
<summary>
Determines whether the index contains the specified key.
</summary>
<param name="key">The key.</param>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.LinkedListIndex`2.Clear">
<summary>
Clears this instance (removes all elements)
</summary>
</member>
<member name="T:MoonSharp.Interpreter.DataStructs.Slice`1">
<summary>
Provides facility to create a "sliced" view over an existing IList<typeparamref name="T"/>
</summary>
<typeparam name="T">The type of the items contained in the collection</typeparam>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.#ctor(System.Collections.Generic.IList{`0},System.Int32,System.Int32,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.DataStructs.Slice`1"/> class.
</summary>
<param name="list">The list to apply the Slice view on</param>
<param name="from">From which index</param>
<param name="length">The length of the slice</param>
<param name="reversed">if set to <c>true</c> the view is in reversed order.</param>
</member>
<member name="P:MoonSharp.Interpreter.DataStructs.Slice`1.Item(System.Int32)">
<summary>
Gets or sets the element at the specified index.
</summary>
<param name="index">The index.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.DataStructs.Slice`1.From">
<summary>
Gets the index from which the slice starts
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DataStructs.Slice`1.Count">
<summary>
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
</summary>
<returns>The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
</member>
<member name="P:MoonSharp.Interpreter.DataStructs.Slice`1.Reversed">
<summary>
Gets a value indicating whether this <see cref="T:MoonSharp.Interpreter.DataStructs.Slice`1"/> operates in a reversed direction.
</summary>
<value>
<c>true</c> if this <see cref="T:MoonSharp.Interpreter.DataStructs.Slice`1"/> operates in a reversed direction; otherwise, <c>false</c>.
</value>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.CalcRealIndex(System.Int32)">
<summary>
Calculates the real index in the underlying collection
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.ToArray">
<summary>
Converts to an array.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.ToList">
<summary>
Converts to an list.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.IndexOf(`0)">
<summary>
Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1" />.
</summary>
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1" />.</param>
<returns>
The index of <paramref name="item" /> if found in the list; otherwise, -1.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.Insert(System.Int32,`0)">
<summary>
Inserts an item to the <see cref="T:System.Collections.Generic.IList`1" /> at the specified index.
</summary>
<param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
<param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1" />.</param>
<exception cref="T:System.InvalidOperationException">Slices are readonly</exception>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.RemoveAt(System.Int32)">
<summary>
Removes the <see cref="T:System.Collections.Generic.IList`1" /> item at the specified index.
</summary>
<param name="index">The zero-based index of the item to remove.</param>
<exception cref="T:System.InvalidOperationException">Slices are readonly</exception>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.Add(`0)">
<summary>
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
</summary>
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
<exception cref="T:System.InvalidOperationException">Slices are readonly</exception>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.Clear">
<summary>
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
</summary>
<exception cref="T:System.InvalidOperationException">Slices are readonly</exception>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.Contains(`0)">
<summary>
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
</summary>
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
<returns>
true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.CopyTo(`0[],System.Int32)">
<summary>
Copies to.
</summary>
<param name="array">The array.</param>
<param name="arrayIndex">Index of the array.</param>
</member>
<member name="P:MoonSharp.Interpreter.DataStructs.Slice`1.IsReadOnly">
<summary>
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
</summary>
<returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.</returns>
</member>
<member name="M:MoonSharp.Interpreter.DataStructs.Slice`1.Remove(`0)">
<summary>
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
</summary>
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
<returns>
true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
</returns>
<exception cref="T:System.InvalidOperationException">Slices are readonly</exception>
</member>
<member name="T:MoonSharp.Interpreter.DataStructs.FastStack`1">
<summary>
A preallocated, non-resizable, stack
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="T:MoonSharp.Interpreter.Execution.ClosureContext">
<summary>
The scope of a closure (container of upvalues)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Execution.ClosureContext.Symbols">
<summary>
Gets the symbols.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.MoonSharpPropertyAttribute">
<summary>
Marks a property as a configruation property
</summary>
</member>
<member name="P:MoonSharp.Interpreter.MoonSharpPropertyAttribute.Name">
<summary>
The metamethod name (like '__div', '__ipairs', etc.)
</summary>
</member>
<member name="M:MoonSharp.Interpreter.MoonSharpPropertyAttribute.#ctor">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.MoonSharpPropertyAttribute"/> class.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.MoonSharpPropertyAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.MoonSharpPropertyAttribute"/> class.
</summary>
<param name="name">The name for this property</param>
</member>
<member name="T:MoonSharp.Interpreter.MoonSharpUserDataMetamethodAttribute">
<summary>
Marks a method as the handler of metamethods of a userdata type
</summary>
</member>
<member name="P:MoonSharp.Interpreter.MoonSharpUserDataMetamethodAttribute.Name">
<summary>
The metamethod name (like '__div', '__ipairs', etc.)
</summary>
</member>
<member name="M:MoonSharp.Interpreter.MoonSharpUserDataMetamethodAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.MoonSharpUserDataMetamethodAttribute"/> class.
</summary>
<param name="name">The metamethod name (like '__div', '__ipairs', etc.)</param>
</member>
<member name="T:MoonSharp.Interpreter.MoonSharpHideMemberAttribute">
<summary>
Lists a userdata member not to be exposed to scripts referencing it by name.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.MoonSharpHideMemberAttribute.MemberName">
<summary>
Gets the name of the member to be hidden.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.MoonSharpHideMemberAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.MoonSharpHideMemberAttribute"/> class.
</summary>
<param name="memberName">Name of the member to hide.</param>
</member>
<member name="T:MoonSharp.Interpreter.MoonSharpHiddenAttribute">
<summary>
Forces a class member visibility to scripts. Can be used to hide public members. Equivalent to MoonSharpVisible(false).
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor">
<summary>
Base interface to describe access to members of a given type.
While it's not infrastructural to implement custom type descriptors, it's needed for
classes extending <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor"/>.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor.IsStatic">
<summary>
Gets a value indicating whether the described member is static.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor.Name">
<summary>
Gets the name of the member
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor.MemberAccess">
<summary>
Gets the types of access supported by this member
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor.GetValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue"/> to be exposed to scripts.
Implementors should raise exceptions if the value cannot be read or if access to an
instance member through a static userdata is attempted.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<returns>The value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue"/>.</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor.SetValue(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value of this member from a <see cref="T:MoonSharp.Interpreter.DynValue"/>.
Implementors should raise exceptions if the value cannot be read or if access to an
instance member through a static userdata is attempted.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<param name="value">The value to be set.</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptor">
<summary>
Extension methods for <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor" /> and <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess"/> .
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptor.HasAllFlags(MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess,MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess)">
<summary>
Determines whether the specified MemberDescriptorAccess has ALL the specified flags.
</summary>
<param name="access">The access.</param>
<param name="flag">The flag.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptor.CanRead(MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor)">
<summary>
Determines whether this instance can be read
</summary>
<param name="desc">The descriptor instance.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptor.CanWrite(MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor)">
<summary>
Determines whether this instance can be written to
</summary>
<param name="desc">The descriptor instance.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptor.CanExecute(MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor)">
<summary>
Determines whether this instance can be executed (called as a function)
</summary>
<param name="desc">The descriptor instance.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptor.GetGetterCallbackAsDynValue(MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor,MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the getter of the member as a DynValue containing a callback
</summary>
<param name="desc">The descriptor instance.</param>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptor.WithAccessOrNull(MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor,MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess)">
<summary>
Returns the specified descriptor if it supports all the specified access modes, otherwise returns null.
</summary>
<param name="desc">The descriptor instance.</param>
<param name="access">The access mode(s).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptor.CheckAccess(MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor,MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess,System.Object)">
<summary>
Raises an appropriate ScriptRuntimeException if the specified access is not supported.
Checks are made for the MemberDescriptorAccess permissions AND for the access of instance
members through static userdatas.
</summary>
<param name="desc">The desc.</param>
<param name="access">The access.</param>
<param name="obj">The object to be checked for access.</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor">
<summary>
Interface for descriptors of any kind which support optimizations of their implementation according to InteropAccessMode
modes. This should seldom - if ever - be implemented in user code.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.IOptimizableDescriptor.Optimize">
<summary>
Called by standard descriptors when background optimization or preoptimization needs to be performed.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor">
<summary>
Specialized <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor"/> for members supporting overloads resolution.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor.Execute(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments)">
<summary>
Invokes the member from script.
Implementors should raise exceptions if the value cannot be executed or if access to an
instance member through a static userdata is attempted.
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="context">The context.</param>
<param name="args">The arguments.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor.ExtensionMethodType">
<summary>
Gets the type which this extension method extends, null if this is not an extension method.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor.Parameters">
<summary>
Gets the type of the arguments of the underlying CLR function
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor.VarArgsArrayType">
<summary>
Gets a value indicating the type of the ParamArray parameter of a var-args function. If the function is not var-args,
null is returned.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor.VarArgsElementType">
<summary>
Gets a value indicating the type of the elements of the ParamArray parameter of a var-args function. If the function is not var-args,
null is returned.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor.SortDiscriminant">
<summary>
Gets a sort discriminant to give consistent overload resolution matching in case of perfectly equal scores
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IWireableDescriptor">
<summary>
Interface for descriptors with the capability of being serialized
for later hardwiring.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.IWireableDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess">
<summary>
Permissions for members access
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess.CanRead">
<summary>
The member can be read from
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess.CanWrite">
<summary>
The member can be written to
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.BasicDescriptors.MemberDescriptorAccess.CanExecute">
<summary>
The can be invoked
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor">
<summary>
Descriptor of parameters used in <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor"/> implementations.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.Name">
<summary>
Gets the name of the parameter
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.Type">
<summary>
Gets the type of the parameter
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.HasDefaultValue">
<summary>
Gets a value indicating whether this instance has a default value.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.DefaultValue">
<summary>
Gets the default value
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.IsOut">
<summary>
Gets a value indicating whether this instance is an out parameter
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.IsRef">
<summary>
Gets a value indicating whether this instance is a "ref" parameter
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.IsVarArgs">
<summary>
Gets a value indicating whether this instance is a variable arguments param
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.HasBeenRestricted">
<summary>
Gets a value indicating whether this instance has been restricted.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.OriginalType">
<summary>
Gets the original type of the parameter before any restriction has been applied.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.m_OriginalType">
<summary>
If the type got restricted, the original type before the restriction.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.#ctor(System.String,System.Type,System.Boolean,System.Object,System.Boolean,System.Boolean,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor" /> class.
</summary>
<param name="name">The name.</param>
<param name="type">The type.</param>
<param name="hasDefaultValue">if set to <c>true</c> the parameter has default value.</param>
<param name="defaultValue">The default value.</param>
<param name="isOut">if set to <c>true</c>, is an out param.</param>
<param name="isRef">if set to <c>true</c> is a ref param.</param>
<param name="isVarArgs">if set to <c>true</c> is variable arguments param.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.#ctor(System.String,System.Type,System.Boolean,System.Object,System.Boolean,System.Boolean,System.Boolean,System.Type)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor" /> class.
</summary>
<param name="name">The name.</param>
<param name="type">The type.</param>
<param name="hasDefaultValue">if set to <c>true</c> the parameter has default value.</param>
<param name="defaultValue">The default value.</param>
<param name="isOut">if set to <c>true</c>, is an out param.</param>
<param name="isRef">if set to <c>true</c> is a ref param.</param>
<param name="isVarArgs">if set to <c>true</c> is variable arguments param.</param>
<param name="typeRestriction">The type restriction, or nll.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.#ctor(System.Reflection.ParameterInfo)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor"/> class.
</summary>
<param name="pi">A ParameterInfo taken from reflection.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.RestrictType(System.Type)">
<summary>
Restricts the type of this parameter to a tighter constraint.
Restrictions must be applied before the <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor"/> containing this
parameter is used in any way.
</summary>
<param name="type">The new type.</param>
<exception cref="T:System.InvalidOperationException">
Cannot restrict a ref/out or varargs param
or
Specified operation is not a restriction
</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor">
<summary>
An abstract user data descriptor which accepts members described by <see cref="T:MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor"/> objects and
correctly dispatches to them.
Metamethods are also by default dispatched to operator overloads and other similar methods - see
<see cref="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)"/> .
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.SPECIALNAME_INDEXER_GET">
<summary>
The special name used by CLR for indexer getters
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.SPECIALNAME_INDEXER_SET">
<summary>
The special name used by CLR for indexer setters
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.SPECIALNAME_CAST_EXPLICIT">
<summary>
The special name used by CLR for explicit cast conversions
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.SPECIALNAME_CAST_IMPLICIT">
<summary>
The special name used by CLR for implicit cast conversions
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.Name">
<summary>
Gets the name of the descriptor (usually, the name of the type described).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.Type">
<summary>
Gets the type this descriptor refers to
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.FriendlyName">
<summary>
Gets a human readable friendly name of the descriptor
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.#ctor(System.Type,System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.StandardUserDataDescriptor" /> class.
</summary>
<param name="type">The type this descriptor refers to.</param>
<param name="friendlyName">A friendly name for the type, or null.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.AddMetaMember(System.String,MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor)">
<summary>
Adds a member to the meta-members list.
</summary>
<param name="name">The name of the metamethod.</param>
<param name="desc">The desc.</param>
<exception cref="T:System.ArgumentException">
Thrown if a name conflict is detected and one of the conflicting members does not support overloads.
</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.AddDynValue(System.String,MoonSharp.Interpreter.DynValue)">
<summary>
Adds a DynValue as a member
</summary>
<param name="name">The name.</param>
<param name="value">The value.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.AddMember(System.String,MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor)">
<summary>
Adds a property to the member list
</summary>
<param name="name">The name.</param>
<param name="desc">The descriptor.</param>
<exception cref="T:System.ArgumentException">
Thrown if a name conflict is detected and one of the conflicting members does not support overloads.
</exception>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.MemberNames">
<summary>
Gets the member names.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.Members">
<summary>
Gets the members.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.FindMember(System.String)">
<summary>
Finds the member with a given name. If not found, null is returned.
</summary>
<param name="memberName">Name of the member.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.RemoveMember(System.String)">
<summary>
Removes the member with a given name. In case of overloaded functions, all overloads are removed.
</summary>
<param name="memberName">Name of the member.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.MetaMemberNames">
<summary>
Gets the meta member names.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.MetaMembers">
<summary>
Gets the meta members.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.FindMetaMember(System.String)">
<summary>
Finds the meta member with a given name. If not found, null is returned.
</summary>
<param name="memberName">Name of the member.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.RemoveMetaMember(System.String)">
<summary>
Removes the meta member with a given name. In case of overloaded functions, all overloads are removed.
</summary>
<param name="memberName">Name of the member.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.Index(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "get" operation. This tries to resolve minor variations of member names.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.TryIndexOnExtMethod(MoonSharp.Interpreter.Script,System.Object,System.String)">
<summary>
Tries to perform an indexing operation by checking newly added extension methods for the given indexName.
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="indexName">Member name to be indexed.</param>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.HasMember(System.String)">
<summary>
Determines whether the descriptor contains the specified member (by exact name)
</summary>
<param name="exactName">Name of the member.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.HasMetaMember(System.String)">
<summary>
Determines whether the descriptor contains the specified member in the meta list (by exact name)
</summary>
<param name="exactName">Name of the meta-member.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.TryIndex(MoonSharp.Interpreter.Script,System.Object,System.String)">
<summary>
Tries to perform an indexing operation by checking methods and properties for the given indexName
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="indexName">Member name to be indexed.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.SetIndex(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "set" operation. This tries to resolve minor variations of member names.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="value">The value to be set</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.TrySetIndex(MoonSharp.Interpreter.Script,System.Object,System.String,MoonSharp.Interpreter.DynValue)">
<summary>
Tries to perform an indexing "set" operation by checking methods and properties for the given indexName
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="indexName">Member name to be indexed.</param>
<param name="value">The value.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.Camelify(System.String)">
<summary>
Converts the specified name from underscore_case to camelCase.
Just a wrapper over the <see cref="T:MoonSharp.Interpreter.Interop.DescriptorHelpers"/> method with the same name,
</summary>
<param name="name">The name.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.UpperFirstLetter(System.String)">
<summary>
Converts the specified name to one with an uppercase first letter (something to Something).
Just a wrapper over the <see cref="T:MoonSharp.Interpreter.Interop.DescriptorHelpers"/> method with the same name,
</summary>
<param name="name">The name.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.AsString(System.Object)">
<summary>
Converts this userdata to string
</summary>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.ExecuteIndexer(MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor,MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue)">
<summary>
Executes the specified indexer method.
</summary>
<param name="mdesc">The method descriptor</param>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="index">The indexer parameter</param>
<param name="value">The dynvalue to set on a setter, or null.</param>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)">
<summary>
Gets a "meta" operation on this userdata. If a descriptor does not support this functionality,
it should return "null" (not a nil).
See <see cref="M:MoonSharp.Interpreter.Interop.IUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)" /> for further details.
If a method exists marked with <see cref="T:MoonSharp.Interpreter.MoonSharpUserDataMetamethodAttribute" /> for the specific
metamethod requested, that method is returned.
If the above fails, the following dispatching occur:
__add, __sub, __mul, __div, __mod and __unm are dispatched to C# operator overloads (if they exist)
__eq is dispatched to System.Object.Equals.
__lt and __le are dispatched IComparable.Compare, if the type implements IComparable or IComparable{object}
__len is dispatched to Length and Count properties, if those exist.
__iterator is handled if the object implements IEnumerable or IEnumerator.
__tonumber is dispatched to implicit or explicit conversion operators to standard numeric types.
__tobool is dispatched to an implicit or explicit conversion operator to bool. If that fails, operator true is used.
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="metaname">The name of the metamember.</param>
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.BasicDescriptors.DispatchingUserDataDescriptor.IsTypeCompatible(System.Type,System.Object)">
<summary>
Determines whether the specified object is compatible with the specified type.
Unless a very specific behaviour is needed, the correct implementation is a
simple " return type.IsInstanceOfType(obj); "
</summary>
<param name="type">The type.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.ClrToScriptConversions.TryObjectToSimpleDynValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Tries to convert a CLR object to a MoonSharp value, using "simple" logic.
Does NOT throw on failure.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.ClrToScriptConversions.ObjectToDynValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Tries to convert a CLR object to a MoonSharp value, using more in-depth analysis
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.ClrToScriptConversions.EnumerationToDynValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Converts an IEnumerable or IEnumerator to a DynValue
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.Converters.NumericConversions">
<summary>
Static functions to handle conversions of numeric types
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.Converters.NumericConversions.NumericTypes">
<summary>
HashSet of numeric types
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.Converters.NumericConversions.NumericTypesOrdered">
<summary>
Array of numeric types in order used for some conversions
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.NumericConversions.DoubleToType(System.Type,System.Double)">
<summary>
Converts a double to another type
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.NumericConversions.TypeToDouble(System.Type,System.Object)">
<summary>
Converts a type to double
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.ScriptToClrConversions.DynValueToObject(MoonSharp.Interpreter.DynValue)">
<summary>
Converts a DynValue to a CLR object [simple conversion]
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.ScriptToClrConversions.DynValueToObjectOfType(MoonSharp.Interpreter.DynValue,System.Type,System.Object,System.Boolean)">
<summary>
Converts a DynValue to a CLR object of a specific type
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.ScriptToClrConversions.DynValueToObjectOfTypeWeight(MoonSharp.Interpreter.DynValue,System.Type,System.Boolean)">
<summary>
Gets a relative weight of how much the conversion is matching the given types.
Implementation must follow that of DynValueToObjectOfType.. it's not very DRY in that sense.
However here we are in perf-sensitive path.. TODO : double-check the gain and see if a DRY impl is better.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.ConvertIListToTable(MoonSharp.Interpreter.Script,System.Collections.IList)">
<summary>
Converts an IList to a Lua table.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.ConvertIDictionaryToTable(MoonSharp.Interpreter.Script,System.Collections.IDictionary)">
<summary>
Converts an IDictionary to a Lua table.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.CanConvertTableToType(MoonSharp.Interpreter.Table,System.Type)">
<summary>
Determines whether the specified table can be converted to the specified type
</summary>
<param name="table">The table.</param>
<param name="t">The type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.ConvertTableToType(MoonSharp.Interpreter.Table,System.Type)">
<summary>
Converts a table to a CLR object of a given type
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.ConvertTableToDictionaryOfGenericType(System.Type,System.Type,System.Type,MoonSharp.Interpreter.Table)">
<summary>
Converts a table to a <see cref="T:System.Collections.Generic.Dictionary`2"/>
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.ConvertTableToArrayOfGenericType(System.Type,System.Type,MoonSharp.Interpreter.Table)">
<summary>
Converts a table to a T[]
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.ConvertTableToListOfGenericType(System.Type,System.Type,MoonSharp.Interpreter.Table)">
<summary>
Converts a table to a <see cref="T:System.Collections.Generic.List`1"/>
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.TableToList``1(MoonSharp.Interpreter.Table,System.Func{MoonSharp.Interpreter.DynValue,``0})">
<summary>
Converts a table to a <see cref="T:System.Collections.Generic.List`1"/>, known in advance
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.Converters.TableConversions.TableToDictionary``2(MoonSharp.Interpreter.Table,System.Func{MoonSharp.Interpreter.DynValue,``0},System.Func{MoonSharp.Interpreter.DynValue,``1})">
<summary>
Converts a table to a Dictionary, known in advance
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.CustomConvertersCollection">
<summary>
A collection of custom converters between MoonSharp types and CLR types.
If a converter function is not specified or returns null, the standard conversion path applies.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CustomConvertersCollection.SetScriptToClrCustomConversion(MoonSharp.Interpreter.DataType,System.Type,System.Func{MoonSharp.Interpreter.DynValue,System.Object})">
<summary>
Sets a custom converter from a script data type to a CLR data type. Set null to remove a previous custom converter.
</summary>
<param name="scriptDataType">The script data type</param>
<param name="clrDataType">The CLR data type.</param>
<param name="converter">The converter, or null.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CustomConvertersCollection.GetScriptToClrCustomConversion(MoonSharp.Interpreter.DataType,System.Type)">
<summary>
Gets a custom converter from a script data type to a CLR data type, or null
</summary>
<param name="scriptDataType">The script data type</param>
<param name="clrDataType">The CLR data type.</param>
<returns>The converter function, or null if not found</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CustomConvertersCollection.SetClrToScriptCustomConversion(System.Type,System.Func{MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue})">
<summary>
Sets a custom converter from a CLR data type. Set null to remove a previous custom converter.
</summary>
<param name="clrDataType">The CLR data type.</param>
<param name="converter">The converter, or null.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CustomConvertersCollection.SetClrToScriptCustomConversion``1(System.Func{MoonSharp.Interpreter.Script,``0,MoonSharp.Interpreter.DynValue})">
<summary>
Sets a custom converter from a CLR data type. Set null to remove a previous custom converter.
</summary>
<typeparam name="T">The CLR data type.</typeparam>
<param name="converter">The converter, or null.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CustomConvertersCollection.GetClrToScriptCustomConversion(System.Type)">
<summary>
Gets a custom converter from a CLR data type, or null
</summary>
<param name="clrDataType">Type of the color data.</param>
<returns>The converter function, or null if not found</returns>
</member>
<!-- Badly formed XML comment ignored for member "M:MoonSharp.Interpreter.Interop.CustomConvertersCollection.SetClrToScriptCustomConversion(System.Type,System.Func{System.Object,MoonSharp.Interpreter.DynValue})" -->
<member name="M:MoonSharp.Interpreter.Interop.CustomConvertersCollection.SetClrToScriptCustomConversion``1(System.Func{``0,MoonSharp.Interpreter.DynValue})">
<summary>
Sets a custom converter from a CLR data type. Set null to remove a previous custom converter.
</summary>
<typeparam name="T">The CLR data type.</typeparam>
<param name="converter">The converter, or null.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CustomConvertersCollection.Clear">
<summary>
Removes all converters.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.DescriptorHelpers">
<summary>
Helper extension methods used to simplify some parts of userdata descriptor implementations
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.GetVisibilityFromAttributes(System.Reflection.MemberInfo)">
<summary>
Determines whether a
<see cref="T:MoonSharp.Interpreter.Interop.MoonSharpVisibleAttribute" /> or a <see cref="T:MoonSharp.Interpreter.MoonSharpHiddenAttribute" /> is changing visibility of a member
to scripts.
</summary>
<param name="mi">The member to check.</param>
<returns>
<c>true</c> if visibility is forced visible,
<c>false</c> if visibility is forced hidden or the specified MemberInfo is null,
<c>if no attribute was found</c>
</returns>
<exception cref="T:System.InvalidOperationException">If both MoonSharpHiddenAttribute and MoonSharpVisibleAttribute are specified and they convey different messages.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.GetClrVisibility(System.Type)">
<summary>
Gets the visibility of the type as a string
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.GetClrVisibility(System.Reflection.FieldInfo)">
<summary>
Gets a string representing visibility of the given member type
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.GetClrVisibility(System.Reflection.PropertyInfo)">
<summary>
Gets a string representing visibility of the given member type
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.GetClrVisibility(System.Reflection.MethodBase)">
<summary>
Gets a string representing visibility of the given member type
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.IsPropertyInfoPublic(System.Reflection.PropertyInfo)">
<summary>
Determines whether the specified PropertyInfo is visible publicly (either the getter or the setter is public).
</summary>
<param name="pi">The PropertyInfo.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.GetMetaNamesFromAttributes(System.Reflection.MethodInfo)">
<summary>
Gets the list of metamethod names from attributes - in practice the list of metamethods declared through
<see cref="T:MoonSharp.Interpreter.MoonSharpUserDataMetamethodAttribute" /> .
</summary>
<param name="mi">The mi.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.SafeGetTypes(System.Reflection.Assembly)">
<summary>
Gets the Types implemented in the assembly, catching the ReflectionTypeLoadException just in case..
</summary>
<param name="asm">The assebly</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.GetConversionMethodName(System.Type)">
<summary>
Gets the name of a conversion method to be exposed to Lua scripts
</summary>
<param name="type">The type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.GetAllImplementedTypes(System.Type)">
<summary>
Gets all implemented types by a given type
</summary>
<param name="t">The t.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.IsValidSimpleIdentifier(System.String)">
<summary>
Determines whether the string is a valid simple identifier (starts with letter or underscore
and contains only letters, digits and underscores).
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.ToValidSimpleIdentifier(System.String)">
<summary>
Converts the string to a valid simple identifier (starts with letter or underscore
and contains only letters, digits and underscores).
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.Camelify(System.String)">
<summary>
Converts the specified name from underscore_case to camelCase.
</summary>
<param name="name">The name.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DescriptorHelpers.UpperFirstLetter(System.String)">
<summary>
Converts the specified name to one with an uppercase first letter (something to Something).
</summary>
<param name="name">The name.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.IGeneratorUserDataDescriptor">
<summary>
An interface for type descriptors having the ability to generate other descriptors on the fly.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IGeneratorUserDataDescriptor.Generate(System.Type)">
<summary>
Generates a new descriptor for the specified type.
The purpose is to allow a mechanism by which a type descriptor can replace itself with another
descriptor for a specific type. For example, descriptors can be created on the fly to support
generic types through this mechanism.
The return value should be:
null - if this descriptor is simply skipped for the specified type
this - acts as if the descriptor was a vanilla descriptor
a new descriptor - if a new descriptor should be used in place of this one
It's recommended that instances of descriptors are cached for future references. One possible way,
to do the caching is to have the generator register the descriptor through <see cref="M:MoonSharp.Interpreter.UserData.RegisterType(System.Type,MoonSharp.Interpreter.InteropAccessMode,System.String)"/>.
In that case, it should query whether the type is exactly registered, through <see cref="M:MoonSharp.Interpreter.UserData.IsTypeRegistered(System.Type)"/>
NOTE-1 : the search for descriptors does NOT stop with the descriptor returned by this type, but
other descriptors (e.g. for interfaces) might still be added.
NOTE-2 : the descriptor generation mechanism is not triggered on an exact match of types.
NOTE-3 : the method is called in the context of a lock over the descriptors registry so no unpredictable changes to the
registry can come from other threads during the execution of this method. However this method should not take other
locks, to avoid deadlocks.
</summary>
<param name="type">The type.</param>
<returns>Null, this object instance or a new descriptor.</returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1">
<summary>
Utility class which may be used to set properties on an object of type T, from values contained in a Lua table.
Properties must be decorated with the <see cref="T:MoonSharp.Interpreter.MoonSharpPropertyAttribute"/>.
This is a generic version of <see cref="T:MoonSharp.Interpreter.Interop.PropertyTableAssigner"/>.
</summary>
<typeparam name="T">The type of the object.</typeparam>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1.#ctor(System.String[])">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1"/> class.
</summary>
<param name="expectedMissingProperties">The expected missing properties, that is expected fields in the table with no corresponding property in the object.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1.AddExpectedMissingProperty(System.String)">
<summary>
Adds an expected missing property, that is an expected field in the table with no corresponding property in the object.
</summary>
<param name="name">The name.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1.AssignObject(`0,MoonSharp.Interpreter.Table)">
<summary>
Assigns properties from tables to an object.
</summary>
<param name="obj">The object.</param>
<param name="data">The table.</param>
<exception cref="T:System.ArgumentNullException">Object is null</exception>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">A field does not correspond to any property and that property is not one of the expected missing ones.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1.GetTypeUnsafeAssigner">
<summary>
Gets the type-unsafe assigner corresponding to this object.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1.SetSubassignerForType(System.Type,MoonSharp.Interpreter.Interop.IPropertyTableAssigner)">
<summary>
Sets the subassigner for the given type. Pass null to remove usage of subassigner for the given type.
</summary>
<param name="propertyType">Type of the property for which the subassigner will be used.</param>
<param name="assigner">The property assigner.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1.SetSubassigner``1(MoonSharp.Interpreter.Interop.PropertyTableAssigner{``0})">
<summary>
Sets the subassigner for the given type
</summary>
<typeparam name="SubassignerType">Type of the property for which the subassigner will be used.</typeparam>
<param name="assigner">The property assigner.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1.MoonSharp#Interpreter#Interop#IPropertyTableAssigner#AssignObjectUnchecked(System.Object,MoonSharp.Interpreter.Table)">
<summary>
Assigns the properties of the specified object without checking the type.
</summary>
<param name="o">The object.</param>
<param name="data">The data.</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.PropertyTableAssigner">
<summary>
Utility class which may be used to set properties on an object from values contained in a Lua table.
Properties must be decorated with the <see cref="T:MoonSharp.Interpreter.MoonSharpPropertyAttribute"/>.
See <see cref="T:MoonSharp.Interpreter.Interop.PropertyTableAssigner`1"/> for a generic compile time type-safe version.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner.#ctor(System.Type,System.String[])">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.PropertyTableAssigner"/> class.
</summary>
<param name="type">The type of the object.</param>
<param name="expectedMissingProperties">The expected missing properties, that is expected fields in the table with no corresponding property in the object.</param>
<exception cref="T:System.ArgumentException">
Type cannot be a value type.
</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner.AddExpectedMissingProperty(System.String)">
<summary>
Adds an expected missing property, that is an expected field in the table with no corresponding property in the object.
</summary>
<param name="name">The name.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner.AssignObject(System.Object,MoonSharp.Interpreter.Table)">
<summary>
Assigns properties from tables to an object.
</summary>
<param name="obj">The object.</param>
<param name="data">The table.</param>
<exception cref="T:System.ArgumentNullException">Object is null</exception>
<exception cref="T:System.ArgumentException">The object is of an incompatible type.</exception>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">A field does not correspond to any property and that property is not one of the expected missing ones.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner.SetSubassignerForType(System.Type,MoonSharp.Interpreter.Interop.IPropertyTableAssigner)">
<summary>
Sets the subassigner for the given type. Pass null to remove usage of subassigner for the given type.
</summary>
<param name="propertyType">Type of the property for which the subassigner will be used.</param>
<param name="assigner">The property assigner.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyTableAssigner.MoonSharp#Interpreter#Interop#IPropertyTableAssigner#AssignObjectUnchecked(System.Object,MoonSharp.Interpreter.Table)">
<summary>
Assigns the properties of the specified object without checking the type.
</summary>
<param name="o">The object.</param>
<param name="data">The data.</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.IPropertyTableAssigner">
<summary>
Common interface for property assigners - basically used for sub-assigners
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IPropertyTableAssigner.AssignObjectUnchecked(System.Object,MoonSharp.Interpreter.Table)">
<summary>
Assigns the properties of the specified object without checking the type.
</summary>
<param name="o">The object.</param>
<param name="data">The data.</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.DelegateProxyFactory`2">
<summary>
Implementation of IProxyFactory taking two delegates for simple instancing of proxies.
</summary>
<typeparam name="TProxy">The type of the proxy.</typeparam>
<typeparam name="TTarget">The type of the target.</typeparam>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DelegateProxyFactory`2.#ctor(System.Func{`1,`0})">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.DelegateProxyFactory`2"/> class.
</summary>
<param name="wrapDelegate">The proxy.</param>
<param name="unwrapDelegate">The deproxy.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DelegateProxyFactory`2.CreateProxyObject(`1)">
<summary>
Takes an instance of a target object and returns a proxy object wrapping it
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DelegateProxyFactory`2.CreateProxyObject(System.Object)">
<summary>
Takes an instance of a target object and returns a proxy object wrapping it
</summary>
<param name="o"></param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Interop.DelegateProxyFactory`2.TargetType">
<summary>
Gets the proxied type
</summary>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Interop.DelegateProxyFactory`2.ProxyType">
<summary>
Gets the proxy type
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.IProxyFactory">
<summary>
Interface for proxy objects (type unsafe version)
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IProxyFactory.CreateProxyObject(System.Object)">
<summary>
Takes an instance of a target object and returns a proxy object wrapping it
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.IProxyFactory.TargetType">
<summary>
Gets the proxied type
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.IProxyFactory.ProxyType">
<summary>
Gets the proxy type
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.IProxyFactory`2">
<summary>
Interface for proxy objects (type safe version)
</summary>
<typeparam name="TProxy">The type of the proxy.</typeparam>
<typeparam name="TTarget">The type of the target.</typeparam>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IProxyFactory`2.CreateProxyObject(`1)">
<summary>
Takes an instance of a target object and returns a proxy object wrapping it
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.ReflectionSpecialNameType">
<summary>
Helps identifying a reflection special name
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.ReflectionSpecialName">
<summary>
Class helping identifying special names found with reflection
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.RegistrationPolicies.AutomaticRegistrationPolicy">
<summary>
Similar to <see cref="T:MoonSharp.Interpreter.Interop.RegistrationPolicies.DefaultRegistrationPolicy"/>, but with automatic type registration is disabled.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.RegistrationPolicies.AutomaticRegistrationPolicy.AllowTypeAutoRegistration(System.Type)">
<summary>
Allows type automatic registration for the specified type.
NOTE: automatic type registration is NOT recommended.
</summary>
<param name="type">The type.</param>
<returns>
True to register the type automatically, false otherwise.
</returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.RegistrationPolicies.DefaultRegistrationPolicy">
<summary>
The default registration policy used by MoonSharp unless explicitely replaced.
Deregistrations are allowed, but registration of a new descriptor are not allowed
if a descriptor is already registered for that type.
Automatic type registration is disabled.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.RegistrationPolicies.DefaultRegistrationPolicy.HandleRegistration(MoonSharp.Interpreter.Interop.IUserDataDescriptor,MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Called to handle the registration or deregistration of a type descriptor. Must return the type descriptor to be registered, or null to remove the registration.
</summary>
<param name="newDescriptor">The new descriptor, or null if this is a deregistration.</param>
<param name="oldDescriptor">The old descriptor, or null if no descriptor was previously registered for this type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.RegistrationPolicies.DefaultRegistrationPolicy.AllowTypeAutoRegistration(System.Type)">
<summary>
Allows type automatic registration for the specified type.
NOTE: automatic type registration is NOT recommended.
</summary>
<param name="type">The type.</param>
<returns>
True to register the type automatically, false otherwise.
</returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.RegistrationPolicies.PermanentRegistrationPolicy">
<summary>
A registration policy which makes registration permanent and not deletable.
Deregistrations are not allowed and registrations of a new descriptor are not allowed
if a descriptor is already registered for that type.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.RegistrationPolicies.PermanentRegistrationPolicy.HandleRegistration(MoonSharp.Interpreter.Interop.IUserDataDescriptor,MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Called to handle the registration or deregistration of a type descriptor. Must return the type descriptor to be registered, or null to remove the registration.
</summary>
<param name="newDescriptor">The new descriptor, or null if this is a deregistration.</param>
<param name="oldDescriptor">The old descriptor, or null if no descriptor was previously registered for this type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.RegistrationPolicies.PermanentRegistrationPolicy.AllowTypeAutoRegistration(System.Type)">
<summary>
Allows type automatic registration for the specified type.
NOTE: automatic type registration is NOT recommended.
</summary>
<param name="type">The type.</param>
<returns>
True to register the type automatically, false otherwise.
</returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="T:MoonSharp.Interpreter.Interop.RegistrationPolicies.IRegistrationPolicy">
<summary>
Interface for managing how to handle
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.RegistrationPolicies.IRegistrationPolicy.HandleRegistration(MoonSharp.Interpreter.Interop.IUserDataDescriptor,MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Called to handle the registration or deregistration of a type descriptor. Must return the type descriptor to be registered, or null to remove the registration.
</summary>
<param name="newDescriptor">The new descriptor, or null if this is a deregistration.</param>
<param name="oldDescriptor">The old descriptor, or null if no descriptor was previously registered for this type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.RegistrationPolicies.IRegistrationPolicy.AllowTypeAutoRegistration(System.Type)">
<summary>
Allows type automatic registration for the specified type.
NOTE: automatic type registration is NOT recommended.
</summary>
<param name="type">The type.</param>
<returns>True to register the type automatically, false otherwise.</returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.ArrayMemberDescriptor">
<summary>
Member descriptor for indexer of array types
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ArrayMemberDescriptor.#ctor(System.String,System.Boolean,MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor[])">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.ArrayMemberDescriptor"/> class.
</summary>
<param name="name">The name.</param>
<param name="isSetter">if set to <c>true</c> is a setter indexer.</param>
<param name="indexerParams">The indexer parameters.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ArrayMemberDescriptor.#ctor(System.String,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.ArrayMemberDescriptor"/> class.
</summary>
<param name="name">The name.</param>
<param name="isSetter">if set to <c>true</c> [is setter].</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ArrayMemberDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor">
<summary>
Data descriptor used for proxy objects
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.InnerDescriptor">
<summary>
Gets the descriptor which describes the proxy object
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.Name">
<summary>
Gets the name of the descriptor (usually, the name of the type described).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.Type">
<summary>
Gets the type this descriptor refers to
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.Proxy(System.Object)">
<summary>
Proxies the specified object.
</summary>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.Index(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "get" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.SetIndex(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "set" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="value">The value to be set</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.AsString(System.Object)">
<summary>
Converts this userdata to string
</summary>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)">
<summary>
Gets a "meta" operation on this userdata. If a descriptor does not support this functionality,
it should return "null" (not a nil).
These standard metamethods can be supported (the return value should be a function accepting the
classic parameters of the corresponding metamethod):
__add, __sub, __mul, __div, __div, __pow, __unm, __eq, __lt, __le, __lt, __len, __concat,
__pairs, __ipairs, __iterator, __call
These standard metamethods are supported through other calls for efficiency:
__index, __newindex, __tostring
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="metaname">The name of the metamember.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ProxyUserDataDescriptor.IsTypeCompatible(System.Type,System.Object)">
<summary>
Determines whether the specified object is compatible with the specified type.
Unless a very specific behaviour is needed, the correct implementation is a
simple " return type.IsInstanceOfType(obj); "
</summary>
<param name="type">The type.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.ObjectCallbackMemberDescriptor">
<summary>
Member descriptor which allows to define new members which behave similarly to class instance members
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ObjectCallbackMemberDescriptor.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.ObjectCallbackMemberDescriptor"/> class.
A new member descriptor is defined, which is a function taking no parameters and returning void, doing nothing.
</summary>
<param name="funcName">Name of the function.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ObjectCallbackMemberDescriptor.#ctor(System.String,System.Func{System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments,System.Object})">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.ObjectCallbackMemberDescriptor"/> class.
The function described by descriptors created by this callback are defined as if they take no parameters
and thus don't support overload resolution well (unless they really take no parameters) but can freely be
used if no overload resolution is required.
</summary>
<param name="funcName">Name of the function.</param>
<param name="callBack">The callback function.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ObjectCallbackMemberDescriptor.#ctor(System.String,System.Func{System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments,System.Object},MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor[])">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.ObjectCallbackMemberDescriptor"/> class.
Members defined with this constructor will support overload resolution.
</summary>
<param name="funcName">Name of the function.</param>
<param name="callBack">The call back.</param>
<param name="parameters">The parameters.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ObjectCallbackMemberDescriptor.Execute(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments)">
<summary>
The internal callback which actually executes the method
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="context">The context.</param>
<param name="args">The arguments.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase">
<summary>
Class providing easier marshalling of CLR functions
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.IsStatic">
<summary>
Gets a value indicating whether the described method is static.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.Name">
<summary>
Gets the name of the described method
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.SortDiscriminant">
<summary>
Gets a sort discriminant to give consistent overload resolution matching in case of perfectly equal scores
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.Parameters">
<summary>
Gets the type of the arguments of the underlying CLR function
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.ExtensionMethodType">
<summary>
Gets the type which this extension method extends, null if this is not an extension method.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.VarArgsArrayType">
<summary>
Gets a value indicating the type of the ParamArray parameter of a var-args function. If the function is not var-args,
null is returned.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.VarArgsElementType">
<summary>
Gets a value indicating the type of the elements of the ParamArray parameter of a var-args function. If the function is not var-args,
null is returned.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.Initialize(System.String,System.Boolean,MoonSharp.Interpreter.Interop.BasicDescriptors.ParameterDescriptor[],System.Boolean)">
<summary>
Initializes this instance.
This *MUST* be called by the constructors extending this class to complete initialization.
</summary>
<param name="funcName">Name of the function.</param>
<param name="isStatic">if set to <c>true</c> [is static].</param>
<param name="parameters">The parameters.</param>
<param name="isExtensionMethod">if set to <c>true</c> [is extension method].</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.GetCallback(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets a callback function as a delegate
</summary>
<param name="script">The script for which the callback must be generated.</param>
<param name="obj">The object (null for static).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.GetCallbackFunction(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the callback function.
</summary>
<param name="script">The script for which the callback must be generated.</param>
<param name="obj">The object (null for static).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.GetCallbackAsDynValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the callback function as a DynValue.
</summary>
<param name="script">The script for which the callback must be generated.</param>
<param name="obj">The object (null for static).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.CreateCallbackDynValue(MoonSharp.Interpreter.Script,System.Reflection.MethodInfo,System.Object)">
<summary>
Creates a callback DynValue starting from a MethodInfo.
</summary>
<param name="script">The script.</param>
<param name="mi">The mi.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.BuildArgumentList(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments,System.Collections.Generic.List{System.Int32}@)">
<summary>
Builds the argument list.
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="context">The context.</param>
<param name="args">The arguments.</param>
<param name="outParams">Output: A list containing the indices of all "out" parameters, or null if no out parameters are specified.</param>
<returns>The arguments, appropriately converted.</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.BuildReturnValue(MoonSharp.Interpreter.Script,System.Collections.Generic.List{System.Int32},System.Object[],System.Object)">
<summary>
Builds the return value of a call
</summary>
<param name="script">The script.</param>
<param name="outParams">The out parameters indices, or null. See <see cref="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.BuildArgumentList(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments,System.Collections.Generic.List{System.Int32}@)" />.</param>
<param name="pars">The parameters passed to the function.</param>
<param name="retv">The return value from the function. Use DynValue.Void if the function returned no value.</param>
<returns>A DynValue to be returned to scripts</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.Execute(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments)">
<summary>
The internal callback which actually executes the method
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="context">The context.</param>
<param name="args">The arguments.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.MemberAccess">
<summary>
Gets the types of access supported by this member
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.GetValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue" /> to be exposed to scripts.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<returns>
The value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue" />.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FunctionMemberDescriptorBase.SetValue(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value.
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="v">The v.</param>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="T:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor">
<summary>
Standard descriptor for Enum values
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.UnderlyingType">
<summary>
Gets the underlying type of the enum.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.IsUnsigned">
<summary>
Gets a value indicating whether underlying type of the enum is unsigned.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.IsFlags">
<summary>
Gets a value indicating whether this instance describes a flags enumeration.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.#ctor(System.Type,System.String,System.String[],System.Object[],System.Type)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor"/> class.
</summary>
<param name="enumType">Type of the enum.</param>
<param name="friendlyName">Name of the friendly.</param>
<exception cref="T:System.ArgumentException">enumType must be an enum!</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.FillMemberList(System.String[],System.Object[])">
<summary>
Fills the member list.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.AddEnumMethod(System.String,MoonSharp.Interpreter.DynValue)">
<summary>
Adds an enum method to the object
</summary>
<param name="name">The name.</param>
<param name="dynValue">The dyn value.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.GetValueSigned(MoonSharp.Interpreter.DynValue)">
<summary>
Gets the value of the enum as a long
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.GetValueUnsigned(MoonSharp.Interpreter.DynValue)">
<summary>
Gets the value of the enum as a ulong
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.CreateValueSigned(System.Int64)">
<summary>
Creates an enum value from a long
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.CreateValueUnsigned(System.UInt64)">
<summary>
Creates an enum value from a ulong
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.CreateSignedConversionFunctions">
<summary>
Creates conversion functions for signed enums
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.CreateUnsignedConversionFunctions">
<summary>
Creates conversion functions for unsigned enums
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.IsTypeCompatible(System.Type,System.Object)">
<summary>
Determines whether the specified object is compatible with the specified type.
</summary>
<param name="type">The type.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardEnumUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)">
<summary>
Gets a "meta" operation on this userdata.
In this specific case, only the concat operator is supported, only on flags enums and it implements the
'or' operator.
</summary>
<param name="script"></param>
<param name="obj"></param>
<param name="metaname"></param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor">
<summary>
Class providing a simple descriptor for constant DynValues in userdata
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor" /> class.
</summary>
<param name="name">The name.</param>
<param name="serializedTableValue">A string containing a table whose first member is the dynvalue to be deserialized (convoluted...).</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor" /> class.
</summary>
<param name="name">The name.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.#ctor(System.String,MoonSharp.Interpreter.DynValue)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor"/> class.
</summary>
<param name="name">The name.</param>
<param name="value">The value.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.IsStatic">
<summary>
Gets a value indicating whether the described member is static.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.Name">
<summary>
Gets the name of the member
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.MemberAccess">
<summary>
Gets the types of access supported by this member
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.Value">
<summary>
Gets the value wrapped by this descriptor
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.GetValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue" /> to be exposed to scripts.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<returns>
The value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue" />.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.SetValue(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value of this member from a <see cref="T:MoonSharp.Interpreter.DynValue" />.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<param name="value">The value to be set.</param>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">userdata '{0}' cannot be written to.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.DynValueMemberDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.EventMemberDescriptor">
<summary>
Class providing easier marshalling of CLR events. Handling is limited to a narrow range of handler signatures, which,
however, covers in practice most of all available events.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Interop.EventMemberDescriptor.MAX_ARGS_IN_DELEGATE">
<summary>
The maximum number of arguments supported in an event handler delegate
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.EventMemberDescriptor.TryCreateIfVisible(System.Reflection.EventInfo,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Tries to create a new StandardUserDataEventDescriptor, returning <c>null</c> in case the method is not
visible to script code.
</summary>
<param name="ei">The EventInfo.</param>
<param name="accessMode">The <see cref="T:MoonSharp.Interpreter.InteropAccessMode" /></param>
<returns>A new StandardUserDataEventDescriptor or null.</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.EventMemberDescriptor.CheckEventIsCompatible(System.Reflection.EventInfo,System.Boolean)">
<summary>
Checks if the event is compatible with a standard descriptor
</summary>
<param name="ei">The EventInfo.</param>
<param name="throwException">if set to <c>true</c> an exception with the proper error message is thrown if not compatible.</param>
<returns></returns>
<exception cref="T:System.ArgumentException">
Thrown if throwException is <c>true</c> and one of this applies:
The event is declared in a value type
or
The event does not have both add and remove methods
or
The event handler type doesn't implement a public Invoke method
or
The event handler has a return type which is not System.Void
or
The event handler has more than MAX_ARGS_IN_DELEGATE parameters
or
The event handler has a value type parameter or a by ref parameter
or
The event handler signature is not a valid method according to <see cref="M:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.CheckMethodIsCompatible(System.Reflection.MethodBase,System.Boolean)"/>
</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.EventMemberDescriptor.#ctor(System.Reflection.EventInfo,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.EventMemberDescriptor"/> class.
</summary>
<param name="ei">The ei.</param>
<param name="accessMode">The access mode.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.EventMemberDescriptor.EventInfo">
<summary>
Gets the EventInfo object of the event described by this descriptor
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.EventMemberDescriptor.IsStatic">
<summary>
Gets a value indicating whether the event described by this descriptor is static.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.EventMemberDescriptor.GetValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets a dynvalue which is a facade supporting add/remove methods which is callable from scripts
</summary>
<param name="script">The script.</param>
<param name="obj">The object for which the facade should be written.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Interop.EventMemberDescriptor.Name">
<summary>
Gets the name of the member
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.EventMemberDescriptor.MemberAccess">
<summary>
Gets the types of access supported by this member
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.EventMemberDescriptor.SetValue(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value.
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="v">The v.</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor">
<summary>
Class providing easier marshalling of overloaded CLR functions
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.OverloadableMemberDescriptorComparer">
<summary>
Comparer class for IOverloadableMemberDescriptor
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.IgnoreExtensionMethods">
<summary>
Gets or sets a value indicating whether this instance ignores extension methods.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.#ctor(System.String,System.Type)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor"/> class.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.#ctor(System.String,System.Type,MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor" /> class.
</summary>
<param name="name">The name.</param>
<param name="declaringType">The declaring type.</param>
<param name="descriptor">The descriptor of the first overloaded method.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.#ctor(System.String,System.Type,System.Collections.Generic.IEnumerable{MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor})">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor" /> class.
</summary>
<param name="name">The name.</param>
<param name="declaringType">The declaring type.</param>
<param name="descriptors">The descriptors of the overloaded methods.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.SetExtensionMethodsSnapshot(System.Int32,System.Collections.Generic.List{MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor})">
<summary>
Sets the extension methods snapshot.
</summary>
<param name="version">The version.</param>
<param name="extMethods">The ext methods.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.Name">
<summary>
Gets the name of the first described overload
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.DeclaringType">
<summary>
Gets the name of the first described overload
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.AddOverload(MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor)">
<summary>
Adds an overload.
</summary>
<param name="overload">The overload.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.OverloadCount">
<summary>
Gets the number of overloaded methods contained in this collection
</summary>
<value>
The overload count.
</value>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.PerformOverloadedCall(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments)">
<summary>
Performs the overloaded call.
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="context">The context.</param>
<param name="args">The arguments.</param>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">function call doesn't match any overload</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.CalcScoreForOverload(MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments,MoonSharp.Interpreter.Interop.BasicDescriptors.IOverloadableMemberDescriptor,System.Boolean)">
<summary>
Calculates the score for the overload.
</summary>
<param name="context">The context.</param>
<param name="args">The arguments.</param>
<param name="method">The method.</param>
<param name="isExtMethod">if set to <c>true</c>, is an extension method.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.GetCallback(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets a callback function as a delegate
</summary>
<param name="script">The script for which the callback must be generated.</param>
<param name="obj">The object (null for static).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.GetCallbackFunction(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the callback function.
</summary>
<param name="script">The script for which the callback must be generated.</param>
<param name="obj">The object (null for static).</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.IsStatic">
<summary>
Gets a value indicating whether there is at least one static method in the resolution list
</summary>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="P:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.MemberAccess">
<summary>
Gets the types of access supported by this member
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.GetValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue" /> to be exposed to scripts.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<returns>
The value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue" />.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.SetValue(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value of this member from a <see cref="T:MoonSharp.Interpreter.DynValue" />.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<param name="value">The value to be set.</param>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.OverloadedMethodMemberDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.FieldMemberDescriptor">
<summary>
Class providing easier marshalling of CLR fields
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.FieldInfo">
<summary>
Gets the FieldInfo got by reflection
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.AccessMode">
<summary>
Gets the <see cref="T:MoonSharp.Interpreter.InteropAccessMode" />
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.IsStatic">
<summary>
Gets a value indicating whether the described property is static.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.Name">
<summary>
Gets the name of the property
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.IsConst">
<summary>
Gets a value indicating whether this instance is a constant
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.IsReadonly">
<summary>
Gets a value indicating whether this instance is readonly
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.TryCreateIfVisible(System.Reflection.FieldInfo,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Tries to create a new StandardUserDataFieldDescriptor, returning <c>null</c> in case the field is not
visible to script code.
</summary>
<param name="fi">The FieldInfo.</param>
<param name="accessMode">The <see cref="T:MoonSharp.Interpreter.InteropAccessMode" /></param>
<returns>A new StandardUserDataFieldDescriptor or null.</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.#ctor(System.Reflection.FieldInfo,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor"/> class.
</summary>
<param name="fi">The FieldInfo.</param>
<param name="accessMode">The <see cref="T:MoonSharp.Interpreter.InteropAccessMode" /> </param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.GetValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the value of the property
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.SetValue(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value of the property
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="v">The value to set.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.MemberAccess">
<summary>
Gets the types of access supported by this member
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.FieldMemberDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor">
<summary>
Member descriptor for the default constructor of value types.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.IsStatic">
<summary>
Gets a value indicating whether the described method is static.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.Name">
<summary>
Gets the name of the described method
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.ValueTypeDefaultCtor">
<summary>
This property is equal to the value type to be constructed.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.Parameters">
<summary>
Gets the type of the arguments of the underlying CLR function
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.ExtensionMethodType">
<summary>
Gets the type which this extension method extends, null if this is not an extension method.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.VarArgsArrayType">
<summary>
Gets a value indicating the type of the ParamArray parameter of a var-args function. If the function is not var-args,
null is returned.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.VarArgsElementType">
<summary>
Gets a value indicating the type of the elements of the ParamArray parameter of a var-args function. If the function is not var-args,
null is returned.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.#ctor(System.Type)">
<summary>
Initializes a new instance of the
<see cref="T:MoonSharp.Interpreter.Interop.MethodMemberDescriptor" /> class
representing the default empty ctor for a value type.
</summary>
<param name="valueType">Type of the value.</param>
<exception cref="T:System.ArgumentException">valueType is not a value type</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.Execute(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments)">
<summary>
Invokes the member from script.
Implementors should raise exceptions if the value cannot be executed or if access to an
instance member through a static userdata is attempted.
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="context">The context.</param>
<param name="args">The arguments.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.SortDiscriminant">
<summary>
Gets a sort discriminant to give consistent overload resolution matching in case of perfectly equal scores
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.MemberAccess">
<summary>
Gets the types of access supported by this member
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.GetValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the value of this member as a
<see cref="T:MoonSharp.Interpreter.DynValue" /> to be exposed to scripts.
Implementors should raise exceptions if the value cannot be read or if access to an
instance member through a static userdata is attempted.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<returns>
The value of this member as a <see cref="T:MoonSharp.Interpreter.DynValue" />.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.SetValue(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value of this member from a
<see cref="T:MoonSharp.Interpreter.DynValue" />.
Implementors should raise exceptions if the value cannot be read or if access to an
instance member through a static userdata is attempted.
</summary>
<param name="script">The script.</param>
<param name="obj">The object owning this member, or null if static.</param>
<param name="value">The value to be set.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.ValueTypeDefaultCtorMemberDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor">
<summary>
Standard user data descriptor used to instantiate generics.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.AccessMode">
<summary>
Gets the interop access mode this descriptor uses for members access
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.#ctor(System.Type,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.StandardUserDataDescriptor"/> class.
</summary>
<param name="type">The type this descriptor refers to.</param>
<param name="accessMode">The interop access mode this descriptor uses for members access</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.Name">
<inheritdoc/>
</member>
<member name="P:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.Type">
<inheritdoc/>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.Index(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,System.Boolean)">
<inheritdoc/>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.SetIndex(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue,System.Boolean)">
<inheritdoc/>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.AsString(System.Object)">
<inheritdoc/>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)">
<inheritdoc/>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.IsTypeCompatible(System.Type,System.Object)">
<inheritdoc/>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardGenericsUserDataDescriptor.Generate(System.Type)">
<inheritdoc/>
</member>
<member name="T:MoonSharp.Interpreter.Interop.UserDataRegistries.ExtensionMethodsRegistry">
<summary>
Registry of all extension methods. Use UserData statics to access these.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.ExtensionMethodsRegistry.RegisterExtensionType(System.Type,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Registers an extension Type (that is a type containing extension methods)
</summary>
<param name="type">The type.</param>
<param name="mode">The InteropAccessMode.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.ExtensionMethodsRegistry.GetExtensionMethodsByName(System.String)">
<summary>
Gets all the extension methods which can match a given name
</summary>
<param name="name">The name.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.ExtensionMethodsRegistry.GetExtensionMethodsChangeVersion">
<summary>
Gets a number which gets incremented everytime the extension methods registry changes.
Use this to invalidate caches based on extension methods
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.ExtensionMethodsRegistry.GetExtensionMethodsByNameAndType(System.String,System.Type)">
<summary>
Gets all the extension methods which can match a given name and extending a given Type
</summary>
<param name="name">The name.</param>
<param name="extendedType">The extended type.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry">
<summary>
Registry of all type descriptors. Use UserData statics to access these.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.RegisterAssembly(System.Reflection.Assembly,System.Boolean)">
<summary>
Registers all types marked with a MoonSharpUserDataAttribute that ar contained in an assembly.
</summary>
<param name="asm">The assembly.</param>
<param name="includeExtensionTypes">if set to <c>true</c> extension types are registered to the appropriate registry.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.IsTypeRegistered(System.Type)">
<summary>
Determines whether the specified type is registered. Note that this should be used only to check if a descriptor
has been registered EXACTLY. For many types a descriptor can still be created, for example through the descriptor
of a base type or implemented interfaces.
</summary>
<param name="type">The type</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.UnregisterType(System.Type)">
<summary>
Unregisters a type.
WARNING: unregistering types at runtime is a dangerous practice and may cause unwanted errors.
Use this only for testing purposes or to re-register the same type in a slightly different way.
Additionally, it's a good practice to discard all previous loaded scripts after calling this method.
</summary>
<param name="t">The The type to be unregistered</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.DefaultAccessMode">
<summary>
Gets or sets the default access mode to be used in the whole application
</summary>
<value>
The default access mode.
</value>
<exception cref="T:System.ArgumentException">InteropAccessMode is InteropAccessMode.Default</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.RegisterProxyType_Impl(MoonSharp.Interpreter.Interop.IProxyFactory,MoonSharp.Interpreter.InteropAccessMode,System.String)">
<summary>
Registers a proxy type.
</summary>
<param name="proxyFactory">The proxy factory.</param>
<param name="accessMode">The access mode.</param>
<param name="friendlyName">Name of the friendly.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.RegisterType_Impl(System.Type,MoonSharp.Interpreter.InteropAccessMode,System.String,MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Registers a type
</summary>
<param name="type">The type.</param>
<param name="accessMode">The access mode (used only if a default type descriptor is created).</param>
<param name="friendlyName">Friendly name of the descriptor.</param>
<param name="descriptor">The descriptor, or null to use a default one.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.ResolveDefaultAccessModeForType(MoonSharp.Interpreter.InteropAccessMode,System.Type)">
<summary>
Resolves the default type of the access mode for the given type
</summary>
<param name="accessMode">The access mode.</param>
<param name="type">The type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.GetDescriptorForType(System.Type,System.Boolean)">
<summary>
Gets the best possible type descriptor for a specified CLR type.
</summary>
<param name="type">The CLR type for which the descriptor is desired.</param>
<param name="searchInterfaces">if set to <c>true</c> interfaces are used in the search.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.IsTypeBlacklisted(System.Type)">
<summary>
Determines whether the specified type is blacklisted.
Blacklisted types CANNOT be registered using default descriptors but they can still be registered
with custom descriptors. Forcing registration of blacklisted types in this way can introduce
side effects.
</summary>
<param name="t">The t.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.RegisteredTypes">
<summary>
Gets the list of registered types.
</summary>
<value>
The registered types.
</value>
</member>
<member name="P:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.RegisteredTypesHistory">
<summary>
Gets the list of registered types, including unregistered types.
</summary>
<value>
The registered types.
</value>
</member>
<member name="P:MoonSharp.Interpreter.Interop.UserDataRegistries.TypeDescriptorRegistry.RegistrationPolicy">
<summary>
Gets or sets the registration policy.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.InteropRegistrationPolicy">
<summary>
Collection of the standard policies to handle UserData type registrations.
Provided mostly for compile-time backward compatibility with old code.
See also : <see cref="T:MoonSharp.Interpreter.Interop.RegistrationPolicies.IRegistrationPolicy"/> .
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.InteropRegistrationPolicy.Default">
<summary>
The default registration policy used by MoonSharp unless explicitely replaced.
Deregistrations are allowed, but registration of a new descriptor are not allowed
if a descriptor is already registered for that type.
Types must be explicitly registered.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.InteropRegistrationPolicy.Explicit">
<summary>
The default registration policy used by MoonSharp unless explicitely replaced.
Deregistrations are allowed, but registration of a new descriptor are not allowed
if a descriptor is already registered for that type.
Types must be explicitly registered.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.InteropRegistrationPolicy.Automatic">
<summary>
Types are automatically registered if not found in the registry. This is easier to use but potentially unsafe.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.IUserDataType">
<summary>
As a convenience, every type deriving from IUserDataType is "self-described". That is, no descriptor is needed/generated
and the object itself is used to describe the type for interop. See also <see cref="T:MoonSharp.Interpreter.UserData"/>, <see cref="T:MoonSharp.Interpreter.Interop.IUserDataDescriptor"/>
and <see cref="T:MoonSharp.Interpreter.Interop.StandardUserDataDescriptor"/> .
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IUserDataType.Index(MoonSharp.Interpreter.Script,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "get" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="index">The index.</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IUserDataType.SetIndex(MoonSharp.Interpreter.Script,MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "set" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="index">The index.</param>
<param name="value">The value to be set</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IUserDataType.MetaIndex(MoonSharp.Interpreter.Script,System.String)">
<summary>
Gets a "meta" operation on this userdata. If a descriptor does not support this functionality,
it should return "null" (not a nil).
These standard metamethods can be supported (the return value should be a function accepting the
classic parameters of the corresponding metamethod):
__add, __sub, __mul, __div, __div, __pow, __unm, __eq, __lt, __le, __lt, __len, __concat,
__pairs, __ipairs, __iterator, __call
These standard metamethods are supported through other calls for efficiency:
__index, __newindex, __tostring
</summary>
<param name="script">The script originating the request</param>
<param name="metaname">The name of the metamember.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.AnonWrapper">
<summary>
Internal type used by <see cref="T:MoonSharp.Interpreter.Interop.AnonWrapper`1"/> for registration
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.AnonWrapper`1">
<summary>
Wrapper which allows for easier management of userdata without registering a new userdata type - useful
if a type which is not exposed to scripts but can be managed as a "black box" by scripts is desired.
</summary>
<typeparam name="T">The type to wrap</typeparam>
</member>
<member name="M:MoonSharp.Interpreter.Interop.AnonWrapper`1.#ctor">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.AnonWrapper`1"/> class.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.AnonWrapper`1.#ctor(`0)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.AnonWrapper`1"/> class.
</summary>
<param name="o">The o.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.AnonWrapper`1.Value">
<summary>
Gets or sets the value this instance wraps.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.IUserDataDescriptor">
<summary>
Interface used by MoonSharp to access objects of a given type from scripts.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.IUserDataDescriptor.Name">
<summary>
Gets the name of the descriptor (usually, the name of the type described).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.IUserDataDescriptor.Type">
<summary>
Gets the type this descriptor refers to
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IUserDataDescriptor.Index(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "get" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IUserDataDescriptor.SetIndex(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "set" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="value">The value to be set</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IUserDataDescriptor.AsString(System.Object)">
<summary>
Converts this userdata to string
</summary>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)">
<summary>
Gets a "meta" operation on this userdata. If a descriptor does not support this functionality,
it should return "null" (not a nil).
These standard metamethods can be supported (the return value should be a function accepting the
classic parameters of the corresponding metamethod):
__add, __sub, __mul, __div, __div, __pow, __unm, __eq, __lt, __le, __lt, __len, __concat,
__pairs, __ipairs, __iterator, __call
These standard metamethods are supported through other calls for efficiency:
__index, __newindex, __tostring
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="metaname">The name of the metamember.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.IUserDataDescriptor.IsTypeCompatible(System.Type,System.Object)">
<summary>
Determines whether the specified object is compatible with the specified type.
Unless a very specific behaviour is needed, the correct implementation is a
simple " return type.IsInstanceOfType(obj); "
</summary>
<param name="type">The type.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.LuaStateInterop.LuaBase">
<summary>
Classes using the classic interface should inherit from this class.
This class defines only static methods and is really meant to be used only
from C# and not other .NET languages.
For easier operation they should also define:
using ptrdiff_t = System.Int32;
using lua_Integer = System.Int32;
using LUA_INTFRM_T = System.Int64;
using UNSIGNED_LUA_INTFRM_T = System.UInt64;
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.LuaStateInterop.LuaBase.LuaCall(MoonSharp.Interpreter.Interop.LuaStateInterop.LuaState,System.Int32,System.Int32)">
<summary>
Calls a function.
To call a function you must use the following protocol: first, the function to be called is pushed onto the stack; then,
the arguments to the function are pushed in direct order; that is, the first argument is pushed first. Finally you call
lua_call; nargs is the number of arguments that you pushed onto the stack. All arguments and the function value are
popped from the stack when the function is called. The function results are pushed onto the stack when the function
returns. The number of results is adjusted to nresults, unless nresults is LUA_MULTRET. In this case, all results from
the function are pushed. Lua takes care that the returned values fit into the stack space. The function results are
pushed onto the stack in direct order (the first result is pushed first), so that after the call the last result is on
the top of the stack.
</summary>
<param name="L">The LuaState</param>
<param name="nargs">The number of arguments.</param>
<param name="nresults">The number of expected results.</param>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.LuaStateInterop.Tools.IsNumericType(System.Object)">
<summary>
Determines whether the specified value is of numeric type.
</summary>
<param name="o">The object to check.</param>
<returns>
<c>true</c> if o is a numeric type; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.LuaStateInterop.Tools.IsPositive(System.Object,System.Boolean)">
<summary>
Determines whether the specified value is positive.
</summary>
<param name="Value">The value.</param>
<param name="ZeroIsPositive">if set to <c>true</c> treats 0 as positive.</param>
<returns>
<c>true</c> if the specified value is positive; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.LuaStateInterop.Tools.ToUnsigned(System.Object)">
<summary>
Converts the specified values boxed type to its correpsonding unsigned
type.
</summary>
<param name="Value">The value.</param>
<returns>A boxed numeric object whos type is unsigned.</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.LuaStateInterop.Tools.ToInteger(System.Object,System.Boolean)">
<summary>
Converts the specified values boxed type to its correpsonding integer
type.
</summary>
<param name="Value">The value.</param>
<param name="Round">if set to <c>true</c> [round].</param>
<returns>
A boxed numeric object whos type is an integer type.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.LuaStateInterop.Tools.ReplaceMetaChars(System.String)">
<summary>
Replaces the string representations of meta chars with their corresponding
character values.
</summary>
<param name="input">The input.</param>
<returns>A string with all string meta chars are replaced</returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.LuaStateInterop.LuaState">
<summary>
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.LuaStateInterop.NamespaceDoc">
<summary>
Namespace containing classes used to provide a minimal support for porting code based on the classic
"LuaState" model (e.g. code based on KopiLua, UniLua or Lua itself).
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.EnumerableWrapper">
<summary>
Wrappers for enumerables as return types
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.MoonSharpVisibleAttribute">
<summary>
Forces a class member visibility to scripts. Can be used to hide public members or to expose non-public ones.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.MoonSharpVisibleAttribute.Visible">
<summary>
Gets a value indicating whether this <see cref="T:MoonSharp.Interpreter.Interop.MoonSharpVisibleAttribute"/> is set to "visible".
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.MoonSharpVisibleAttribute.#ctor(System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.MoonSharpVisibleAttribute"/> class.
</summary>
<param name="visible">if set to true the member will be exposed to scripts, if false the member will be hidden.</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor">
<summary>
A user data descriptor which aggregates multiple descriptors and tries dispatching members
on them, in order.
Used, for example, for objects implementing multiple interfaces but for which no descriptor is
specifically registered.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.#ctor(System.Collections.Generic.List{MoonSharp.Interpreter.Interop.IUserDataDescriptor},System.Type)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor"/> class.
</summary>
<param name="descriptors">The descriptors.</param>
<param name="type">The type.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.Descriptors">
<summary>
Gets the descriptors aggregated by this object, allowing changes to the descriptor list
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.Name">
<summary>
Gets the name of the descriptor (usually, the name of the type described).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.Type">
<summary>
Gets the type this descriptor refers to
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.Index(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "get" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.SetIndex(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "set" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="value">The value to be set</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.AsString(System.Object)">
<summary>
Converts this userdata to string
</summary>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)">
<summary>
Gets a "meta" operation on this userdata. If a descriptor does not support this functionality,
it should return "null" (not a nil).
These standard metamethods can be supported (the return value should be a function accepting the
classic parameters of the corresponding metamethod):
__add, __sub, __mul, __div, __div, __pow, __unm, __eq, __lt, __le, __lt, __len, __concat,
__pairs, __ipairs, __iterator, __call
These standard metamethods are supported through other calls for efficiency:
__index, __newindex, __tostring
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="metaname">The name of the metamember.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.CompositeUserDataDescriptor.IsTypeCompatible(System.Type,System.Object)">
<summary>
Determines whether the specified object is compatible with the specified type.
Unless a very specific behaviour is needed, the correct implementation is a
simple " return type.IsInstanceOfType(obj); "
</summary>
<param name="type">The type.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Interop.StandardUserDataDescriptor">
<summary>
Standard descriptor for userdata types.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.StandardUserDataDescriptor.AccessMode">
<summary>
Gets the interop access mode this descriptor uses for members access
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardUserDataDescriptor.#ctor(System.Type,MoonSharp.Interpreter.InteropAccessMode,System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.StandardUserDataDescriptor"/> class.
</summary>
<param name="type">The type this descriptor refers to.</param>
<param name="accessMode">The interop access mode this descriptor uses for members access</param>
<param name="friendlyName">A human readable friendly name of the descriptor.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.StandardUserDataDescriptor.FillMemberList">
<summary>
Fills the member list.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Interop.MethodMemberDescriptor">
<summary>
Class providing easier marshalling of CLR functions
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.MethodInfo">
<summary>
Gets the method information (can be a MethodInfo or ConstructorInfo)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.AccessMode">
<summary>
Gets the access mode used for interop
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.IsConstructor">
<summary>
Gets a value indicating whether the described method is a constructor
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.#ctor(System.Reflection.MethodBase,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.MethodMemberDescriptor"/> class.
</summary>
<param name="methodBase">The MethodBase (MethodInfo or ConstructorInfo) got through reflection.</param>
<param name="accessMode">The interop access mode.</param>
<exception cref="T:System.ArgumentException">Invalid accessMode</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.TryCreateIfVisible(System.Reflection.MethodBase,MoonSharp.Interpreter.InteropAccessMode,System.Boolean)">
<summary>
Tries to create a new MethodMemberDescriptor, returning
<c>null</c> in case the method is not
visible to script code.
</summary>
<param name="methodBase">The MethodBase.</param>
<param name="accessMode">The <see cref="T:MoonSharp.Interpreter.InteropAccessMode" /></param>
<param name="forceVisibility">if set to <c>true</c> forces visibility.</param>
<returns>
A new MethodMemberDescriptor or null.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.CheckMethodIsCompatible(System.Reflection.MethodBase,System.Boolean)">
<summary>
Checks if the method is compatible with a standard descriptor
</summary>
<param name="methodBase">The MethodBase.</param>
<param name="throwException">if set to <c>true</c> an exception with the proper error message is thrown if not compatible.</param>
<returns></returns>
<exception cref="T:System.ArgumentException">
Thrown if throwException is <c>true</c> and one of this applies:
The method contains unresolved generic parameters, or has an unresolved generic return type
or
The method contains pointer parameters, or has a pointer return type
</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.Execute(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments)">
<summary>
The internal callback which actually executes the method
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="context">The context.</param>
<param name="args">The arguments.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.MoonSharp#Interpreter#Interop#BasicDescriptors#IOptimizableDescriptor#Optimize">
<summary>
Called by standard descriptors when background optimization or preoptimization needs to be performed.
</summary>
<exception cref="T:MoonSharp.Interpreter.InternalErrorException">Out/Ref params cannot be precompiled.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Interop.MethodMemberDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor">
<summary>
Class providing easier marshalling of CLR properties
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.PropertyInfo">
<summary>
Gets the PropertyInfo got by reflection
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.AccessMode">
<summary>
Gets the <see cref="T:MoonSharp.Interpreter.InteropAccessMode" />
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.IsStatic">
<summary>
Gets a value indicating whether the described property is static.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.Name">
<summary>
Gets the name of the property
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.CanRead">
<summary>
Gets a value indicating whether this instance can be read from
</summary>
<value>
<c>true</c> if this instance can be read from; otherwise, <c>false</c>.
</value>
</member>
<member name="P:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.CanWrite">
<summary>
Gets a value indicating whether this instance can be written to.
</summary>
<value>
<c>true</c> if this instance can be written to; otherwise, <c>false</c>.
</value>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.TryCreateIfVisible(System.Reflection.PropertyInfo,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Tries to create a new StandardUserDataPropertyDescriptor, returning <c>null</c> in case the property is not
visible to script code.
</summary>
<param name="pi">The PropertyInfo.</param>
<param name="accessMode">The <see cref="T:MoonSharp.Interpreter.InteropAccessMode" /></param>
<returns>A new StandardUserDataPropertyDescriptor or null.</returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.#ctor(System.Reflection.PropertyInfo,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor"/> class.
NOTE: This constructor gives get/set visibility based exclusively on the CLR visibility of the
getter and setter methods.
</summary>
<param name="pi">The pi.</param>
<param name="accessMode">The access mode.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.#ctor(System.Reflection.PropertyInfo,MoonSharp.Interpreter.InteropAccessMode,System.Reflection.MethodInfo,System.Reflection.MethodInfo)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor" /> class.
</summary>
<param name="pi">The PropertyInfo.</param>
<param name="accessMode">The <see cref="T:MoonSharp.Interpreter.InteropAccessMode" /></param>
<param name="getter">The getter method. Use null to make the property writeonly.</param>
<param name="setter">The setter method. Use null to make the property readonly.</param>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.GetValue(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Gets the value of the property
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.SetValue(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value of the property
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<param name="v">The value to set.</param>
</member>
<member name="P:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.MemberAccess">
<summary>
Gets the types of access supported by this member
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.MoonSharp#Interpreter#Interop#BasicDescriptors#IOptimizableDescriptor#Optimize">
<summary>
Called by standard descriptors when background optimization or preoptimization needs to be performed.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Interop.PropertyMemberDescriptor.PrepareForWiring(MoonSharp.Interpreter.Table)">
<summary>
Prepares the descriptor for hard-wiring.
The descriptor fills the passed table with all the needed data for hardwire generators to generate the appropriate code.
</summary>
<param name="t">The table to be filled</param>
</member>
<member name="T:MoonSharp.Interpreter.Interop.NamespaceDoc">
<summary>
Namespace containing classes used to customize and support advanced interoperations between
scripts and CLR code.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.IO.BinDumpBinaryReader">
<summary>
"Optimized" BinaryReader which shares strings and use a dumb compression for integers
</summary>
</member>
<member name="T:MoonSharp.Interpreter.IO.BinDumpBinaryWriter">
<summary>
"Optimized" BinaryWriter which shares strings and use a dumb compression for integers
</summary>
</member>
<member name="T:MoonSharp.Interpreter.IO.UndisposableStream">
<summary>
An adapter over Stream which bypasses the Dispose and Close methods.
Used to work around the pesky wrappers .NET has over Stream (BinaryReader, StreamWriter, etc.) which think they
own the Stream and close them when they shouldn't. Damn.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.ScriptFunctionDelegate">
<summary>
A Delegate type which can wrap a script function
</summary>
<param name="args">The arguments.</param>
<returns>The return value of the script function</returns>
</member>
<member name="T:MoonSharp.Interpreter.ScriptFunctionDelegate`1">
<summary>
A Delegate type which can wrap a script function with a generic typed return value
</summary>
<typeparam name="T"></typeparam>
<param name="args">The arguments.</param>
<returns>The return value of the script function</returns>
</member>
<member name="T:MoonSharp.Interpreter.TypeValidationFlags">
<summary>
Flags to alter the way the DynValue.CheckType and other related functions operate on data types for
validation.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.TypeValidationFlags.None">
<summary>
No type validation specific behaviour
</summary>
</member>
<member name="F:MoonSharp.Interpreter.TypeValidationFlags.AllowNil">
<summary>
Nil and Void values are allowed (and returned by the call)
</summary>
</member>
<member name="F:MoonSharp.Interpreter.TypeValidationFlags.AutoConvert">
<summary>
Simple autoconversions are attempted:
1) Numbers are convertible to strings
2) Strings are convertible to numbers if they contain a number
3) Everything is convertible to boolean (with void and nil converting to 'false', everything else converting to 'true')
Note: if both AutoConvert and AllowNil are specified, nils will NOT be converted to false booleans.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.TypeValidationFlags.Default">
<summary>
The default : Autoconverting values, no nils.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.DynamicExpressionException">
<summary>
Exception thrown when a dynamic expression is invalid
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynamicExpressionException.#ctor(System.String,System.Object[])">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.DynamicExpressionException"/> class.
</summary>
<param name="format">The format.</param>
<param name="args">The arguments.</param>
</member>
<member name="M:MoonSharp.Interpreter.DynamicExpressionException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.DynamicExpressionException"/> class.
</summary>
<param name="message">The message.</param>
</member>
<member name="T:MoonSharp.Interpreter.DynamicExpression">
<summary>
Represents a dynamic expression in the script
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DynamicExpression.ExpressionCode">
<summary>
The code which generated this expression
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynamicExpression.Evaluate(MoonSharp.Interpreter.ScriptExecutionContext)">
<summary>
Evaluates the expression
</summary>
<param name="context">The context.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynamicExpression.FindSymbol(MoonSharp.Interpreter.ScriptExecutionContext)">
<summary>
Finds a symbol in the expression
</summary>
<param name="context">The context.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.DynamicExpression.OwnerScript">
<summary>
Gets the script owning this resource.
</summary>
<value>
The script owning this resource.
</value>
</member>
<member name="M:MoonSharp.Interpreter.DynamicExpression.IsConstant">
<summary>
Determines whether this instance is a constant expression
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynamicExpression.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.DynamicExpression.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object" />, is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="T:MoonSharp.Interpreter.Extension_Methods">
<summary>
Extension methods used in the whole project.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Extension_Methods.GetOrDefault``2(System.Collections.Generic.Dictionary{``0,``1},``0)">
<summary>
Gets a value from the dictionary or returns the default value
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TValue">The type of the value.</typeparam>
<param name="dictionary">The dictionary.</param>
<param name="key">The key.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Extension_Methods.GetOrCreate``2(System.Collections.Generic.Dictionary{``0,``1},``0,System.Func{``1})">
<summary>
Gets a value from the dictionary or creates it
</summary>
<typeparam name="TKey">The type of the key.</typeparam>
<typeparam name="TValue">The type of the value.</typeparam>
<param name="dictionary">The dictionary.</param>
<param name="key">The key.</param>
<param name="creator">A function which will create the value if it doesn't exist.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Coroutine">
<summary>
A class representing a script coroutine
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Coroutine.CoroutineType">
<summary>
Possible types of coroutine
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Coroutine.CoroutineType.Coroutine">
<summary>
A valid coroutine
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Coroutine.CoroutineType.ClrCallback">
<summary>
A CLR callback assigned to a coroutine.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Coroutine.CoroutineType.ClrCallbackDead">
<summary>
A CLR callback assigned to a coroutine and already executed.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Coroutine.Type">
<summary>
Gets the type of coroutine
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.AsTypedEnumerable">
<summary>
Gets this coroutine as a typed enumerable which can be looped over for resuming.
Returns its result as DynValue(s)
</summary>
<returns></returns>
<exception cref="T:System.InvalidOperationException">Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead</exception>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.AsEnumerable">
<summary>
Gets this coroutine as a typed enumerable which can be looped over for resuming.
Returns its result as System.Object. Only the first element of tuples is returned.
Only non-CLR coroutines can be resumed with this method. Use an overload of the Resume method accepting a ScriptExecutionContext instead.
</summary>
<returns></returns>
<exception cref="T:System.InvalidOperationException">Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead</exception>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.AsEnumerable``1">
<summary>
Gets this coroutine as a typed enumerable which can be looped over for resuming.
Returns its result as the specified type. Only the first element of tuples is returned.
Only non-CLR coroutines can be resumed with this method. Use an overload of the Resume method accepting a ScriptExecutionContext instead.
</summary>
<returns></returns>
<exception cref="T:System.InvalidOperationException">Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead</exception>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.AsUnityCoroutine">
<summary>
The purpose of this method is to convert a MoonSharp/Lua coroutine to a Unity3D coroutine.
This loops over the coroutine, discarding returned values, and returning null for each invocation.
This means however that the coroutine will be invoked each frame.
Only non-CLR coroutines can be resumed with this method. Use an overload of the Resume method accepting a ScriptExecutionContext instead.
</summary>
<returns></returns>
<exception cref="T:System.InvalidOperationException">Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead</exception>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.Resume(MoonSharp.Interpreter.DynValue[])">
<summary>
Resumes the coroutine.
Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead.
</summary>
<param name="args">The arguments.</param>
<returns></returns>
<exception cref="T:System.InvalidOperationException">Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead</exception>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.Resume(MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.DynValue[])">
<summary>
Resumes the coroutine.
</summary>
<param name="context">The ScriptExecutionContext.</param>
<param name="args">The arguments.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.Resume">
<summary>
Resumes the coroutine.
Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead.
</summary>
<returns></returns>
<exception cref="T:System.InvalidOperationException">Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead</exception>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.Resume(MoonSharp.Interpreter.ScriptExecutionContext)">
<summary>
Resumes the coroutine.
</summary>
<param name="context">The ScriptExecutionContext.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.Resume(System.Object[])">
<summary>
Resumes the coroutine.
Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead.
</summary>
<param name="args">The arguments.</param>
<returns></returns>
<exception cref="T:System.InvalidOperationException">Only non-CLR coroutines can be resumed with this overload of the Resume method. Use the overload accepting a ScriptExecutionContext instead.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.Resume(MoonSharp.Interpreter.ScriptExecutionContext,System.Object[])">
<summary>
Resumes the coroutine
</summary>
<param name="context">The ScriptExecutionContext.</param>
<param name="args">The arguments.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Coroutine.State">
<summary>
Gets the coroutine state.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Coroutine.GetStackTrace(System.Int32,MoonSharp.Interpreter.Debugging.SourceRef)">
<summary>
Gets the coroutine stack trace for debug purposes
</summary>
<param name="skip">The skip.</param>
<param name="entrySourceRef">The entry source reference.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Coroutine.OwnerScript">
<summary>
Gets the script owning this resource.
</summary>
<value>
The script owning this resource.
</value>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="P:MoonSharp.Interpreter.Coroutine.AutoYieldCounter">
<summary>
Gets or sets the automatic yield counter.
</summary>
<value>
The automatic yield counter.
</value>
</member>
<member name="T:MoonSharp.Interpreter.IScriptPrivateResource">
<summary>
Common interface for all resources which are uniquely bound to a script.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.IScriptPrivateResource.OwnerScript">
<summary>
Gets the script owning this resource.
</summary>
<value>
The script owning this resource.
</value>
</member>
<member name="T:MoonSharp.Interpreter.RefIdObject">
<summary>
A base class for many MoonSharp objects.
Helds a ReferenceID property which gets a different value for every object instance, for debugging
purposes. Note that the ID is not assigned in a thread safe manner for speed reason, so the IDs
are guaranteed to be unique only if everything is running on one thread at a time.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.RefIdObject.ReferenceID">
<summary>
Gets the reference identifier.
</summary>
<value>
The reference identifier.
</value>
</member>
<member name="M:MoonSharp.Interpreter.RefIdObject.FormatTypeString(System.String)">
<summary>
Formats a string with a type name and a ref-id
</summary>
<param name="typeString">The type name.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.TailCallData">
<summary>
Class used to support "tail" continuations - a way for C# / Lua interaction which supports
coroutine yielding (at the expense of a LOT of added complexity in calling code).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.TailCallData.Function">
<summary>
Gets or sets the function to call
</summary>
</member>
<member name="P:MoonSharp.Interpreter.TailCallData.Args">
<summary>
Gets or sets the arguments to the function
</summary>
</member>
<member name="P:MoonSharp.Interpreter.TailCallData.Continuation">
<summary>
Gets or sets the callback to be used as a continuation.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.TailCallData.ErrorHandler">
<summary>
Gets or sets the callback to be used in case of errors.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.TailCallData.ErrorHandlerBeforeUnwind">
<summary>
Gets or sets the error handler to be called before stack unwinding
</summary>
</member>
<member name="T:MoonSharp.Interpreter.UserData">
<summary>
Class exposing C# objects as Lua userdata.
For efficiency, a global registry of types is maintained, instead of a per-script one.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.UserData.UserValue">
<summary>
Gets or sets the "uservalue". See debug.getuservalue and debug.setuservalue.
http://www.lua.org/manual/5.2/manual.html#pdf-debug.setuservalue
</summary>
</member>
<member name="P:MoonSharp.Interpreter.UserData.Object">
<summary>
Gets the object associated to this userdata (null for statics)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.UserData.Descriptor">
<summary>
Gets the type descriptor of this userdata
</summary>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterType``1(MoonSharp.Interpreter.InteropAccessMode,System.String)">
<summary>
Registers a type for userdata interop
</summary>
<typeparam name="T">The type to be registered</typeparam>
<param name="accessMode">The access mode (optional).</param>
<param name="friendlyName">Friendly name for the type (optional)</param>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterType(System.Type,MoonSharp.Interpreter.InteropAccessMode,System.String)">
<summary>
Registers a type for userdata interop
</summary>
<param name="type">The type to be registered</param>
<param name="accessMode">The access mode (optional).</param>
<param name="friendlyName">Friendly name for the type (optional)</param>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterProxyType(MoonSharp.Interpreter.Interop.IProxyFactory,MoonSharp.Interpreter.InteropAccessMode,System.String)">
<summary>
Registers a proxy type.
</summary>
<param name="proxyFactory">The proxy factory.</param>
<param name="accessMode">The access mode.</param>
<param name="friendlyName">A friendly name for the descriptor.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterProxyType``2(System.Func{``1,``0},MoonSharp.Interpreter.InteropAccessMode,System.String)">
<summary>
Registers a proxy type using a delegate.
</summary>
<typeparam name="TProxy">The type of the proxy.</typeparam>
<typeparam name="TTarget">The type of the target.</typeparam>
<param name="wrapDelegate">A delegate creating a proxy object from a target object.</param>
<param name="accessMode">The access mode.</param>
<param name="friendlyName">A friendly name for the descriptor.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterType``1(MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Registers a type with a custom userdata descriptor
</summary>
<typeparam name="T">The type to be registered</typeparam>
<param name="customDescriptor">The custom descriptor.</param>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterType(System.Type,MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Registers a type with a custom userdata descriptor
</summary>
<param name="type">The type to be registered</param>
<param name="customDescriptor">The custom descriptor.</param>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterType(MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Registers a type with a custom userdata descriptor
</summary>
<param name="customDescriptor">The custom descriptor.</param>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterAssembly(System.Reflection.Assembly,System.Boolean)">
<summary>
Registers all types marked with a MoonSharpUserDataAttribute that ar contained in an assembly.
</summary>
<param name="asm">The assembly.</param>
<param name="includeExtensionTypes">if set to <c>true</c> extension types are registered to the appropriate registry.</param>
</member>
<member name="M:MoonSharp.Interpreter.UserData.IsTypeRegistered(System.Type)">
<summary>
Determines whether the specified type is registered. Note that this should be used only to check if a descriptor
has been registered EXACTLY. For many types a descriptor can still be created, for example through the descriptor
of a base type or implemented interfaces.
</summary>
<param name="t">The type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.IsTypeRegistered``1">
<summary>
Determines whether the specified type is registered. Note that this should be used only to check if a descriptor
has been registered EXACTLY. For many types a descriptor can still be created, for example through the descriptor
of a base type or implemented interfaces.
</summary>
<typeparam name="T">The type.</typeparam>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.UnregisterType``1">
<summary>
Unregisters a type.
WARNING: unregistering types at runtime is a dangerous practice and may cause unwanted errors.
Use this only for testing purposes or to re-register the same type in a slightly different way.
Additionally, it's a good practice to discard all previous loaded scripts after calling this method.
</summary>
<typeparam name="T">The type to be unregistered</typeparam>
</member>
<member name="M:MoonSharp.Interpreter.UserData.UnregisterType(System.Type)">
<summary>
Unregisters a type.
WARNING: unregistering types at runtime is a dangerous practice and may cause unwanted errors.
Use this only for testing purposes or to re-register the same type in a slightly different way.
Additionally, it's a good practice to discard all previous loaded scripts after calling this method.
</summary>
<param name="t">The The type to be unregistered</param>
</member>
<member name="M:MoonSharp.Interpreter.UserData.Create(System.Object,MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Creates a userdata DynValue from the specified object, using a specific descriptor
</summary>
<param name="o">The object</param>
<param name="descr">The descriptor.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.Create(System.Object)">
<summary>
Creates a userdata DynValue from the specified object
</summary>
<param name="o">The object</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.CreateStatic(MoonSharp.Interpreter.Interop.IUserDataDescriptor)">
<summary>
Creates a static userdata DynValue from the specified IUserDataDescriptor
</summary>
<param name="descr">The IUserDataDescriptor</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.CreateStatic(System.Type)">
<summary>
Creates a static userdata DynValue from the specified Type
</summary>
<param name="t">The type</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.CreateStatic``1">
<summary>
Creates a static userdata DynValue from the specified Type
</summary>
<typeparam name="T">The Type</typeparam>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.UserData.RegistrationPolicy">
<summary>
Gets or sets the registration policy to be used in the whole application
</summary>
</member>
<member name="P:MoonSharp.Interpreter.UserData.DefaultAccessMode">
<summary>
Gets or sets the default access mode to be used in the whole application
</summary>
<value>
The default access mode.
</value>
<exception cref="T:System.ArgumentException">InteropAccessMode is InteropAccessMode.Default</exception>
</member>
<member name="M:MoonSharp.Interpreter.UserData.RegisterExtensionType(System.Type,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Registers an extension Type (that is a type containing extension methods)
</summary>
<param name="type">The type.</param>
<param name="mode">The InteropAccessMode.</param>
</member>
<member name="M:MoonSharp.Interpreter.UserData.GetExtensionMethodsByNameAndType(System.String,System.Type)">
<summary>
Gets all the extension methods which can match a given name and extending a given Type
</summary>
<param name="name">The name.</param>
<param name="extendedType">The extended type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.GetExtensionMethodsChangeVersion">
<summary>
Gets a number which gets incremented everytime the extension methods registry changes.
Use this to invalidate caches based on extension methods
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.GetDescriptorForType``1(System.Boolean)">
<summary>
Gets the best possible type descriptor for a specified CLR type.
</summary>
<typeparam name="T">The CLR type for which the descriptor is desired.</typeparam>
<param name="searchInterfaces">if set to <c>true</c> interfaces are used in the search.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.GetDescriptorForType(System.Type,System.Boolean)">
<summary>
Gets the best possible type descriptor for a specified CLR type.
</summary>
<param name="type">The CLR type for which the descriptor is desired.</param>
<param name="searchInterfaces">if set to <c>true</c> interfaces are used in the search.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.GetDescriptorForObject(System.Object)">
<summary>
Gets the best possible type descriptor for a specified CLR object.
</summary>
<param name="o">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.GetDescriptionOfRegisteredTypes(System.Boolean)">
<summary>
Gets a table with the description of registered types.
</summary>
<param name="useHistoricalData">if set to true, it will also include the last found descriptor of all unregistered types.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.UserData.GetRegisteredTypes(System.Boolean)">
<summary>
Gets all the registered types.
</summary>
<param name="useHistoricalData">if set to true, it will also include the last found descriptor of all unregistered types.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.WellKnownSymbols">
<summary>
Constants of well known "symbols" in the MoonSharp grammar
</summary>
</member>
<member name="F:MoonSharp.Interpreter.WellKnownSymbols.VARARGS">
<summary>
The variadic argument symbol ("...")
</summary>
</member>
<member name="F:MoonSharp.Interpreter.WellKnownSymbols.ENV">
<summary>
The environment symbol ("_ENV")
</summary>
</member>
<member name="T:MoonSharp.Interpreter.YieldRequest">
<summary>
Class wrapping a request to yield a coroutine
</summary>
</member>
<member name="F:MoonSharp.Interpreter.YieldRequest.ReturnValues">
<summary>
The return values of the coroutine
</summary>
</member>
<member name="P:MoonSharp.Interpreter.YieldRequest.Forced">
<summary>
Gets or sets a value indicating whether this <see cref="T:MoonSharp.Interpreter.YieldRequest"/> is a forced yield.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Debugging.DebuggerAction">
<summary>
Wrapper for a debugger initiated action
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType">
<summary>
Type of the action
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.ByteCodeStepIn">
<summary>
Step-in at the bytecode level
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.ByteCodeStepOver">
<summary>
Step-over at the bytecode level
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.ByteCodeStepOut">
<summary>
Step-out at the bytecode level
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.StepIn">
<summary>
Step-in at the source level
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.StepOver">
<summary>
Step-over at the source level
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.StepOut">
<summary>
Step-out at the source level
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.Run">
<summary>
Continue execution "freely"
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.ToggleBreakpoint">
<summary>
Toggles breakpoint
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.SetBreakpoint">
<summary>
Sets a breakpoint
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.ClearBreakpoint">
<summary>
Clears a breakpoint
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.Refresh">
<summary>
Refresh the data
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.HardRefresh">
<summary>
Hard refresh of data
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.DebuggerAction.ActionType.None">
<summary>
No action
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.DebuggerAction.Action">
<summary>
The type of action
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.DebuggerAction.TimeStampUTC">
<summary>
Gets the time stamp UTC of this action
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.DebuggerAction.SourceID">
<summary>
Gets or sets the source identifier this action refers to. <see cref="M:MoonSharp.Interpreter.Script.GetSourceCode(System.Int32)"/>
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.DebuggerAction.SourceLine">
<summary>
Gets or sets the source line this action refers to.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.DebuggerAction.SourceCol">
<summary>
Gets or sets the source column this action refers to.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.DebuggerAction.#ctor">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Debugging.DebuggerAction"/> class.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.DebuggerAction.Age">
<summary>
Gets the age of this debugger action
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.DebuggerAction.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="T:MoonSharp.Interpreter.Debugging.IDebugger">
<summary>
Interface for debuggers to implement, in order to provide debugging facilities to Scripts.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.SetSourceCode(MoonSharp.Interpreter.Debugging.SourceCode)">
<summary>
Called by the script engine when a source code is added or changed.
</summary>
<param name="sourceCode">The source code object.</param>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.SetByteCode(System.String[])">
<summary>
Called by the script engine when the bytecode changes.
</summary>
<param name="byteCode">The bytecode source</param>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.IsPauseRequested">
<summary>
Called by the script engine at execution time to check if a break has
been requested. Should return pretty fast as it's called A LOT.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.SignalRuntimeException(MoonSharp.Interpreter.ScriptRuntimeException)">
<summary>
Called by the script engine when a runtime error occurs.
The debugger can return true to signal the engine that it wants to break
into the source of the error. If it does so, it should also return true
to subsequent calls to IsPauseRequested().
</summary>
<param name="ex">The runtime exception.</param>
<returns>True if this error should break execution.</returns>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.GetAction(System.Int32,MoonSharp.Interpreter.Debugging.SourceRef)">
<summary>
Called by the script engine to get what action to do next.
</summary>
<param name="ip">The instruction pointer in bytecode.</param>
<param name="sourceref">The source reference.</param>
<returns>T</returns>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.SignalExecutionEnded">
<summary>
Called by the script engine when the execution ends.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.Update(MoonSharp.Interpreter.Debugging.WatchType,System.Collections.Generic.IEnumerable{MoonSharp.Interpreter.Debugging.WatchItem})">
<summary>
Called by the script engine to update watches of a given type. Note
that this method is not called only for watches in the strictest term,
but also for the stack, etc.
</summary>
<param name="watchType">Type of the watch.</param>
<param name="items">The items.</param>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.GetWatchItems">
<summary>
Called by the script engine to get which expressions are active
watches in the debugger.
</summary>
<returns>A list of watches</returns>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.IDebugger.RefreshBreakpoints(System.Collections.Generic.IEnumerable{MoonSharp.Interpreter.Debugging.SourceRef})">
<summary>
Called by the script engine to refresh the breakpoint list.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Debugging.SourceRef">
<summary>
Class representing a reference to source code interval
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceRef.IsClrLocation">
<summary>
Gets a value indicating whether this location is inside CLR .
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceRef.SourceIdx">
<summary>
Gets the index of the source.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceRef.FromChar">
<summary>
Gets from which column the source code ref starts
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceRef.ToChar">
<summary>
Gets to which column the source code ref ends
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceRef.FromLine">
<summary>
Gets from which line the source code ref starts
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceRef.ToLine">
<summary>
Gets to which line the source code ref ends
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceRef.IsStepStop">
<summary>
Gets a value indicating whether this instance is a stop "step" in source mode
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.SourceRef.Breakpoint">
<summary>
Gets a value indicating whether this instance is a breakpoint
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceRef.CannotBreakpoint">
<summary>
Gets a value indicating whether this instance cannot be set as a breakpoint
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.SourceRef.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.SourceRef.IncludesLocation(System.Int32,System.Int32,System.Int32)">
<summary>
Gets whether the source ref includes the specified location
</summary>
<param name="sourceIdx">Index of the source.</param>
<param name="line">The line.</param>
<param name="col">The column.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.SourceRef.SetNoBreakPoint">
<summary>
Sets the CannotBreakpoint flag.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.SourceRef.FormatLocation(MoonSharp.Interpreter.Script,System.Boolean)">
<summary>
Formats the location according to script preferences
</summary>
<param name="script">The script.</param>
<param name="forceClassicFormat">if set to <c>true</c> the classic Lua format is forced.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Debugging.WatchItem">
<summary>
A watch item for the debugger to consume.
Most properties make or not sense depending on the WatchType.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.WatchItem.Address">
<summary>
Gets or sets the address of the item
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.WatchItem.BasePtr">
<summary>
Gets or sets the base pointer (base value of v-stack at entering the function).
Valid only for call-stack items
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.WatchItem.RetAddress">
<summary>
Gets or sets the return address.
Valid only for call-stack items
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.WatchItem.Name">
<summary>
Gets or sets the name of the item
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.WatchItem.Value">
<summary>
Gets or sets the value of the item
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.WatchItem.LValue">
<summary>
Gets or sets the symbol reference of the item
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.WatchItem.IsError">
<summary>
Gets or sets a value indicating whether this instance is generating an error.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.WatchItem.Location">
<summary>
Gets or sets the source location this item refers to.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.WatchItem.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="T:MoonSharp.Interpreter.Debugging.WatchType">
<summary>
Enumeration of the possible watch types
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.WatchType.Watches">
<summary>
A real variable watch
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.WatchType.VStack">
<summary>
The status of the v-stack
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.WatchType.CallStack">
<summary>
The call stack
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.WatchType.Coroutines">
<summary>
The list of coroutines
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Debugging.WatchType.MaxValue">
<summary>
The maximum value of this enum
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Debugging.SourceCode">
<summary>
Class representing the source code of a given script
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceCode.Name">
<summary>
Gets the name of the source code
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceCode.Code">
<summary>
Gets the source code as a string
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceCode.Lines">
<summary>
Gets the source code lines.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceCode.OwnerScript">
<summary>
Gets the script owning this resource.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Debugging.SourceCode.SourceID">
<summary>
Gets the source identifier inside a script
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Debugging.SourceCode.GetCodeSnippet(MoonSharp.Interpreter.Debugging.SourceRef)">
<summary>
Gets the code snippet represented by a source ref
</summary>
<param name="sourceCodeRef">The source code reference.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Debugging.NamespaceDoc">
<summary>
Namespace containing classes used to support debuggers
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Diagnostics.PerformanceCounters.GlobalPerformanceStopwatch">
<summary>
This class is not *really* IDisposable.. it's just use to have a RAII like pattern.
You are free to reuse this instance after calling Dispose.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Diagnostics.PerformanceCounters.PerformanceStopwatch">
<summary>
This class is not *really* IDisposable.. it's just use to have a RAII like pattern.
You are free to reuse this instance after calling Dispose.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Diagnostics.PerformanceCounter">
<summary>
Enumeration of the possible performance counters
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Diagnostics.PerformanceCounter.AstCreation">
<summary>
Measures the time spent parsing the source creating the AST
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Diagnostics.PerformanceCounter.Compilation">
<summary>
Measures the time spent converting ASTs in bytecode
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Diagnostics.PerformanceCounter.Execution">
<summary>
Measures the time spent in executing scripts
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Diagnostics.PerformanceCounter.AdaptersCompilation">
<summary>
Measures the on the fly creation/compilation of functions in userdata descriptors
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Diagnostics.PerformanceCounter.LastValue">
<summary>
Sentinel value to get the enum size
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Diagnostics.PerformanceCounterType">
<summary>
Enumeration of unit of measures of the performance counters
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Diagnostics.PerformanceCounterType.MemoryBytes">
<summary>
The performance counter is specified in bytes (of memory)
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Diagnostics.PerformanceCounterType.TimeMilliseconds">
<summary>
The performance counter is specified in milliseconds
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Diagnostics.PerformanceStatistics">
<summary>
A single object of this type exists for every script and gives access to performance statistics.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Diagnostics.PerformanceStatistics.Enabled">
<summary>
Gets or sets a value indicating whether this collection of performance stats is enabled.
</summary>
<value>
<c>true</c> if enabled; otherwise, <c>false</c>.
</value>
</member>
<member name="M:MoonSharp.Interpreter.Diagnostics.PerformanceStatistics.GetPerformanceCounterResult(MoonSharp.Interpreter.Diagnostics.PerformanceCounter)">
<summary>
Gets the result of the specified performance counter .
</summary>
<param name="pc">The PerformanceCounter.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Diagnostics.PerformanceStatistics.StartStopwatch(MoonSharp.Interpreter.Diagnostics.PerformanceCounter)">
<summary>
Starts a stopwatch.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Diagnostics.PerformanceStatistics.StartGlobalStopwatch(MoonSharp.Interpreter.Diagnostics.PerformanceCounter)">
<summary>
Starts a stopwatch.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Diagnostics.PerformanceStatistics.GetPerformanceLog">
<summary>
Gets a string with a complete performance log.
</summary>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Diagnostics.PerformanceResult">
<summary>
The result of a performance counter
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Diagnostics.PerformanceResult.Name">
<summary>
Gets the name of the performance counter which generated this result.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Diagnostics.PerformanceResult.Counter">
<summary>
Gets the quantity monitored - see Type to understand what this field contains
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Diagnostics.PerformanceResult.Instances">
<summary>
Gets the number of instances which led to the specified counter being incremented - e.g. the times a specific
code is executed, or object instanced
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Diagnostics.PerformanceResult.Global">
<summary>
Gets a value indicating whether this <see cref="T:MoonSharp.Interpreter.Diagnostics.PerformanceResult"/> is global or relative to the resource
for which it's called.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Diagnostics.PerformanceResult.Type">
<summary>
Gets the unit of measure of the Counter field.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Diagnostics.PerformanceResult.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Diagnostics.PerformanceResult.PerformanceCounterTypeToString(MoonSharp.Interpreter.Diagnostics.PerformanceCounterType)">
<summary>
Converts a PerformanceCounterType to a string.
</summary>
<param name="Type">The type.</param>
</member>
<member name="T:MoonSharp.Interpreter.Diagnostics.NamespaceDoc">
<summary>
Namespace containing classes used to support self diagnostics (e.g. performance counters)
</summary>
</member>
<member name="T:MoonSharp.Interpreter.ScriptRuntimeException">
<summary>
Exception for all runtime errors. In addition to constructors, it offers a lot of static methods
generating more "standard" Lua errors.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.#ctor(System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.ScriptRuntimeException"/> class.
</summary>
<param name="ex">The ex.</param>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.ScriptRuntimeException"/> class.
</summary>
<param name="message">The message that describes the error.</param>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.#ctor(System.String,System.Object[])">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.ScriptRuntimeException"/> class.
</summary>
<param name="format">The format.</param>
<param name="args">The arguments.</param>
</member>
<member name="P:MoonSharp.Interpreter.ScriptRuntimeException.DoNotDecorateMessage">
<summary>
Gets or sets a value indicating whether the message should not be decorated
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.ArithmeticOnNonNumber(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an arithmetic operation was attempted on non-numbers
</summary>
<param name="l">The left operand.</param>
<param name="r">The right operand (or null).</param>
<returns>The exception to be raised.</returns>
<exception cref="T:MoonSharp.Interpreter.InternalErrorException">If both are numbers</exception>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.ConcatOnNonString(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a concat operation was attempted on non-strings
</summary>
<param name="l">The left operand.</param>
<param name="r">The right operand.</param>
<returns>The exception to be raised.</returns>
<exception cref="T:MoonSharp.Interpreter.InternalErrorException">If both are numbers or strings</exception>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.LenOnInvalidType(MoonSharp.Interpreter.DynValue)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a len operator was applied on an invalid operand
</summary>
<param name="r">The operand.</param>
<returns>The exception to be raised.</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.CompareInvalidType(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a comparison operator was applied on an invalid combination of operand types
</summary>
<param name="l">The left operand.</param>
<param name="r">The right operand.</param>
<returns>The exception to be raised.</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgument(System.Int32,System.String,System.String)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a function was called with a bad argument
</summary>
<param name="argNum">The argument number (0-based).</param>
<param name="funcName">Name of the function generating this error.</param>
<param name="message">The error message.</param>
<returns>The exception to be raised.</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgumentUserData(System.Int32,System.String,System.Type,System.Object,System.Boolean)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a function was called with a bad userdata argument
</summary>
<param name="argNum">The argument number (0-based).</param>
<param name="funcName">Name of the function generating this error.</param>
<param name="expected">The expected System.Type.</param>
<param name="got">The object which was used.</param>
<param name="allowNil">True if nils were allowed in this call.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgument(System.Int32,System.String,MoonSharp.Interpreter.DataType,MoonSharp.Interpreter.DataType,System.Boolean)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a function was called with a bad argument
</summary>
<param name="argNum">The argument number (0-based).</param>
<param name="funcName">Name of the function generating this error.</param>
<param name="expected">The expected data type.</param>
<param name="got">The data type received.</param>
<param name="allowNil">True if nils were allowed in this call.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgument(System.Int32,System.String,System.String,System.String,System.Boolean)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a function was called with a bad argument
</summary>
<param name="argNum">The argument number (0-based).</param>
<param name="funcName">Name of the function generating this error.</param>
<param name="expected">The expected type description.</param>
<param name="got">The description of the type received.</param>
<param name="allowNil">True if nils were allowed in this call.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgumentNoValue(System.Int32,System.String,MoonSharp.Interpreter.DataType)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a function was called with no value when a value was required.
This function creates a message like "bad argument #xxx to 'yyy' (zzz expected, got no value)"
while <see cref="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgumentValueExpected(System.Int32,System.String)" /> creates a message like "bad argument #xxx to 'yyy' (value expected)"
</summary>
<param name="argNum">The argument number (0-based).</param>
<param name="funcName">Name of the function generating this error.</param>
<param name="expected">The expected data type.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgumentIndexOutOfRange(System.String,System.Int32)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an out of range index was specified
</summary>
<param name="argNum">The argument number (0-based).</param>
<param name="funcName">Name of the function generating this error.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgumentNoNegativeNumbers(System.Int32,System.String)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a function was called with a negative number when a positive one was expected.
</summary>
<param name="argNum">The argument number (0-based).</param>
<param name="funcName">Name of the function generating this error.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgumentValueExpected(System.Int32,System.String)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a function was called with no value when a value was required.
This function creates a message like "bad argument #xxx to 'yyy' (value expected)"
while <see cref="M:MoonSharp.Interpreter.ScriptRuntimeException.BadArgumentNoValue(System.Int32,System.String,MoonSharp.Interpreter.DataType)" /> creates a message like "bad argument #xxx to 'yyy' (zzz expected, got no value)"
</summary>
<param name="argNum">The argument number (0-based).</param>
<param name="funcName">Name of the function generating this error.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.IndexType(MoonSharp.Interpreter.DynValue)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an invalid attempt to index the specified object was made
</summary>
<param name="obj">The object.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.LoopInIndex">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a loop was detected when performing __index over metatables.
</summary>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.LoopInNewIndex">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a loop was detected when performing __newindex over metatables.
</summary>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.LoopInCall">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a loop was detected when performing __call over metatables.
</summary>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.TableIndexIsNil">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a table indexing operation used nil as the key.
</summary>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.TableIndexIsNaN">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a table indexing operation used a NaN as the key.
</summary>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.ConvertToNumberFailed(System.Int32)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a conversion to number failed.
</summary>
<param name="stage">
Selects the correct error message:
0 - "value must be a number"
1 - "'for' initial value must be a number"
2 - "'for' step must be a number"
3 - "'for' limit must be a number"
</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.ConvertObjectFailed(System.Object)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a conversion of a CLR type to a Lua type has failed.
</summary>
<param name="obj">The object which could not be converted.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.ConvertObjectFailed(MoonSharp.Interpreter.DataType)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a conversion of a Lua type to a CLR type has failed.
</summary>
<param name="t">The Lua type.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.ConvertObjectFailed(MoonSharp.Interpreter.DataType,System.Type)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a constrained conversion of a Lua type to a CLR type has failed.
</summary>
<param name="t">The Lua type.</param>
<param name="t2">The expected CLR type.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.UserDataArgumentTypeMismatch(MoonSharp.Interpreter.DataType,System.Type)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
a userdata of a specific CLR type was expected and a non-userdata type was passed.
</summary>
<param name="t">The Lua type.</param>
<param name="clrType">The expected CLR type.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.UserDataMissingField(System.String,System.String)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an attempt to index an invalid member of a userdata was done.
</summary>
<param name="typename">The name of the userdata type.</param>
<param name="fieldname">The field name.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.CannotResumeNotSuspended(MoonSharp.Interpreter.CoroutineState)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an attempt resume a coroutine in an invalid state was done.
</summary>
<param name="state">The state of the coroutine.</param>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.CannotYield">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an attempt to yield across a CLR boundary was made.
</summary>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.CannotYieldMain">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an attempt to yield from the main coroutine was made.
</summary>
<returns>
The exception to be raised.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.AttemptToCallNonFunc(MoonSharp.Interpreter.DataType,System.String)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an attempt to call a non-function was made
</summary>
<param name="type">The lua non-function data type.</param>
<param name="debugText">The debug text to aid location (appears as "near 'xxx'").</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.AccessInstanceMemberOnStatics(MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an attempt to access a non-static member from a static userdata was made
</summary>
<param name="desc">The member descriptor.</param>
</member>
<member name="M:MoonSharp.Interpreter.ScriptRuntimeException.AccessInstanceMemberOnStatics(MoonSharp.Interpreter.Interop.IUserDataDescriptor,MoonSharp.Interpreter.Interop.BasicDescriptors.IMemberDescriptor)">
<summary>
Creates a ScriptRuntimeException with a predefined error message specifying that
an attempt to access a non-static member from a static userdata was made
</summary>
<param name="typeDescr">The type descriptor.</param>
<param name="desc">The member descriptor.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.InternalErrorException">
<summary>
Exception thrown when an inconsistent state is reached in the interpreter
</summary>
</member>
<member name="T:MoonSharp.Interpreter.InterpreterException">
<summary>
Base type of all exceptions thrown in MoonSharp
</summary>
</member>
<member name="M:MoonSharp.Interpreter.InterpreterException.#ctor(System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.InterpreterException"/> class.
</summary>
<param name="ex">The ex.</param>
</member>
<member name="M:MoonSharp.Interpreter.InterpreterException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.InterpreterException"/> class.
</summary>
<param name="message">The message that describes the error.</param>
</member>
<member name="M:MoonSharp.Interpreter.InterpreterException.#ctor(System.String,System.Object[])">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.InterpreterException"/> class.
</summary>
<param name="format">The format.</param>
<param name="args">The arguments.</param>
</member>
<member name="P:MoonSharp.Interpreter.InterpreterException.InstructionPtr">
<summary>
Gets the instruction pointer of the execution (if it makes sense)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.InterpreterException.CallStack">
<summary>
Gets the interpreter call stack.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.InterpreterException.DecoratedMessage">
<summary>
Gets the decorated message (error message plus error location in script) if possible.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.SyntaxErrorException">
<summary>
Exception for all parsing/lexing errors.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.SyntaxErrorException.IsPrematureStreamTermination">
<summary>
Gets or sets a value indicating whether this exception was caused by premature stream termination (that is, unexpected EOF).
This can be used in REPL interfaces to tell between unrecoverable errors and those which can be recovered by extra input.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.CallbackArguments">
<summary>
This class is a container for arguments received by a CallbackFunction
</summary>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.#ctor(System.Collections.Generic.IList{MoonSharp.Interpreter.DynValue},System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.CallbackArguments" /> class.
</summary>
<param name="args">The arguments.</param>
<param name="isMethodCall">if set to <c>true</c> [is method call].</param>
</member>
<member name="P:MoonSharp.Interpreter.CallbackArguments.Count">
<summary>
Gets the count of arguments
</summary>
</member>
<member name="P:MoonSharp.Interpreter.CallbackArguments.IsMethodCall">
<summary>
Gets or sets a value indicating whether this is a method call.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.CallbackArguments.Item(System.Int32)">
<summary>
Gets the <see cref="T:MoonSharp.Interpreter.DynValue"/> at the specified index, or Void if not found
</summary>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.RawGet(System.Int32,System.Boolean)">
<summary>
Gets the <see cref="T:MoonSharp.Interpreter.DynValue" /> at the specified index, or null.
</summary>
<param name="index">The index.</param>
<param name="translateVoids">if set to <c>true</c> all voids are translated to nils.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.GetArray(System.Int32)">
<summary>
Converts the arguments to an array
</summary>
<param name="skip">The number of elements to skip (default= 0).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.AsType(System.Int32,System.String,MoonSharp.Interpreter.DataType,System.Boolean)">
<summary>
Gets the specified argument as as an argument of the specified type. If not possible,
an exception is raised.
</summary>
<param name="argNum">The argument number.</param>
<param name="funcName">Name of the function.</param>
<param name="type">The type desired.</param>
<param name="allowNil">if set to <c>true</c> nil values are allowed.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.AsUserData``1(System.Int32,System.String,System.Boolean)">
<summary>
Gets the specified argument as as an argument of the specified user data type. If not possible,
an exception is raised.
</summary>
<typeparam name="T">The desired userdata type</typeparam>
<param name="argNum">The argument number.</param>
<param name="funcName">Name of the function.</param>
<param name="allowNil">if set to <c>true</c> nil values are allowed.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.AsInt(System.Int32,System.String)">
<summary>
Gets the specified argument as an integer
</summary>
<param name="argNum">The argument number.</param>
<param name="funcName">Name of the function.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.AsLong(System.Int32,System.String)">
<summary>
Gets the specified argument as a long integer
</summary>
<param name="argNum">The argument number.</param>
<param name="funcName">Name of the function.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.AsStringUsingMeta(MoonSharp.Interpreter.ScriptExecutionContext,System.Int32,System.String)">
<summary>
Gets the specified argument as a string, calling the __tostring metamethod if needed, in a NON
yield-compatible way.
</summary>
<param name="executionContext">The execution context.</param>
<param name="argNum">The argument number.</param>
<param name="funcName">Name of the function.</param>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">'tostring' must return a string to '{0}'</exception>
</member>
<member name="M:MoonSharp.Interpreter.CallbackArguments.SkipMethodCall">
<summary>
Returns a copy of CallbackArguments where the first ("self") argument is skipped if this was a method call,
otherwise returns itself.
</summary>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Closure">
<summary>
A class representing a script function
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Closure.UpvaluesType">
<summary>
Type of closure based on upvalues
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Closure.UpvaluesType.None">
<summary>
The closure has no upvalues (thus, technically, it's a function and not a closure!)
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Closure.UpvaluesType.Environment">
<summary>
The closure has _ENV as its only upvalue
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Closure.UpvaluesType.Closure">
<summary>
The closure is a "real" closure, with multiple upvalues
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Closure.EntryPointByteCodeLocation">
<summary>
Gets the entry point location in bytecode .
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Closure.OwnerScript">
<summary>
Gets the script owning this function
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Closure.emptyClosure">
<summary>
Shortcut for an empty closure
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Closure.ClosureContext">
<summary>
The current closure context
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Closure.#ctor(MoonSharp.Interpreter.Script,System.Int32,MoonSharp.Interpreter.SymbolRef[],System.Collections.Generic.IEnumerable{MoonSharp.Interpreter.DynValue})">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Closure"/> class.
</summary>
<param name="script">The script.</param>
<param name="idx">The index.</param>
<param name="symbols">The symbols.</param>
<param name="resolvedLocals">The resolved locals.</param>
</member>
<member name="M:MoonSharp.Interpreter.Closure.Call">
<summary>
Calls this function with the specified args
</summary>
<returns></returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function</exception>
</member>
<member name="M:MoonSharp.Interpreter.Closure.Call(System.Object[])">
<summary>
Calls this function with the specified args
</summary>
<param name="args">The arguments to pass to the function.</param>
<returns></returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function</exception>
</member>
<member name="M:MoonSharp.Interpreter.Closure.Call(MoonSharp.Interpreter.DynValue[])">
<summary>
Calls this function with the specified args
</summary>
<param name="args">The arguments to pass to the function.</param>
<returns></returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function</exception>
</member>
<member name="M:MoonSharp.Interpreter.Closure.GetDelegate">
<summary>
Gets a delegate wrapping calls to this scripted function
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Closure.GetDelegate``1">
<summary>
Gets a delegate wrapping calls to this scripted function
</summary>
<typeparam name="T">The type of return value of the delegate.</typeparam>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Closure.GetUpvaluesCount">
<summary>
Gets the number of upvalues in this closure
</summary>
<returns>The number of upvalues in this closure</returns>
</member>
<member name="M:MoonSharp.Interpreter.Closure.GetUpvalueName(System.Int32)">
<summary>
Gets the name of the specified upvalue.
</summary>
<param name="idx">The index of the upvalue.</param>
<returns>The upvalue name</returns>
</member>
<member name="M:MoonSharp.Interpreter.Closure.GetUpvalue(System.Int32)">
<summary>
Gets the value of an upvalue. To set the value, use GetUpvalue(idx).Assign(...);
</summary>
<param name="idx">The index of the upvalue.</param>
<returns>The value of an upvalue </returns>
</member>
<member name="M:MoonSharp.Interpreter.Closure.GetUpvaluesType">
<summary>
Gets the type of the upvalues contained in this closure
</summary>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.CallbackFunction">
<summary>
This class wraps a CLR function
</summary>
</member>
<member name="P:MoonSharp.Interpreter.CallbackFunction.Name">
<summary>
Gets the name of the function
</summary>
</member>
<member name="P:MoonSharp.Interpreter.CallbackFunction.ClrCallback">
<summary>
Gets the call back.
</summary>
<value>
The call back.
</value>
</member>
<member name="M:MoonSharp.Interpreter.CallbackFunction.#ctor(System.Func{MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments,MoonSharp.Interpreter.DynValue},System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.CallbackFunction" /> class.
</summary>
<param name="callBack">The callback function to be called.</param>
<param name="name">The callback name, used in stacktraces, debugger, etc..</param>
</member>
<member name="M:MoonSharp.Interpreter.CallbackFunction.Invoke(MoonSharp.Interpreter.ScriptExecutionContext,System.Collections.Generic.IList{MoonSharp.Interpreter.DynValue},System.Boolean)">
<summary>
Invokes the callback function
</summary>
<param name="executionContext">The execution context.</param>
<param name="args">The arguments.</param>
<param name="isMethodCall">if set to <c>true</c> this is a method call.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.CallbackFunction.DefaultAccessMode">
<summary>
Gets or sets the default access mode used when marshalling delegates
</summary>
<value>
The default access mode. Default, HideMembers and BackgroundOptimized are NOT supported.
</value>
<exception cref="T:System.ArgumentException">Default, HideMembers and BackgroundOptimized are NOT supported.</exception>
</member>
<member name="M:MoonSharp.Interpreter.CallbackFunction.FromDelegate(MoonSharp.Interpreter.Script,System.Delegate,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Creates a CallbackFunction from a delegate.
</summary>
<param name="script">The script.</param>
<param name="del">The delegate.</param>
<param name="accessMode">The access mode.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.CallbackFunction.FromMethodInfo(MoonSharp.Interpreter.Script,System.Reflection.MethodInfo,System.Object,MoonSharp.Interpreter.InteropAccessMode)">
<summary>
Creates a CallbackFunction from a MethodInfo relative to a function.
</summary>
<param name="script">The script.</param>
<param name="mi">The MethodInfo object.</param>
<param name="obj">The object to which the function applies, or null for static methods.</param>
<param name="accessMode">The access mode.</param>
<returns></returns>
<exception cref="T:System.ArgumentException">The method is not static.</exception>
</member>
<member name="P:MoonSharp.Interpreter.CallbackFunction.AdditionalData">
<summary>
Gets or sets an object used as additional data to the callback function (available in the execution context).
</summary>
</member>
<member name="M:MoonSharp.Interpreter.CallbackFunction.CheckCallbackSignature(System.Reflection.MethodInfo,System.Boolean)">
<summary>
Checks the callback signature of a method is compatible for callbacks
</summary>
</member>
<member name="T:MoonSharp.Interpreter.DynValue">
<summary>
A class representing a value in a Lua/MoonSharp script.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.ReferenceID">
<summary>
Gets a unique reference identifier. This is guaranteed to be unique only for dynvalues created in a single thread as it's not thread-safe.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Type">
<summary>
Gets the type of the value.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Function">
<summary>
Gets the function (valid only if the <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is <see cref="F:MoonSharp.Interpreter.DataType.Function"/>)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Number">
<summary>
Gets the numeric value (valid only if the <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is <see cref="F:MoonSharp.Interpreter.DataType.Number"/>)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Tuple">
<summary>
Gets the values in the tuple (valid only if the <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is Tuple).
This field is currently also used to hold arguments in values whose <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is <see cref="F:MoonSharp.Interpreter.DataType.TailCallRequest"/>.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Coroutine">
<summary>
Gets the coroutine handle. (valid only if the <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is Thread).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Table">
<summary>
Gets the table (valid only if the <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is <see cref="F:MoonSharp.Interpreter.DataType.Table"/>)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Boolean">
<summary>
Gets the boolean value (valid only if the <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is <see cref="F:MoonSharp.Interpreter.DataType.Boolean"/>)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.String">
<summary>
Gets the string value (valid only if the <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is <see cref="F:MoonSharp.Interpreter.DataType.String"/>)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Callback">
<summary>
Gets the CLR callback (valid only if the <see cref="P:MoonSharp.Interpreter.DynValue.Type"/> is <see cref="F:MoonSharp.Interpreter.DataType.ClrFunction"/>)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.TailCallData">
<summary>
Gets the tail call data.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.YieldRequest">
<summary>
Gets the yield request data.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.UserData">
<summary>
Gets the tail call data.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.ReadOnly">
<summary>
Returns true if this instance is write protected.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewNil">
<summary>
Creates a new writable value initialized to Nil.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewBoolean(System.Boolean)">
<summary>
Creates a new writable value initialized to the specified boolean.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewNumber(System.Double)">
<summary>
Creates a new writable value initialized to the specified number.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewString(System.String)">
<summary>
Creates a new writable value initialized to the specified string.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewString(System.Text.StringBuilder)">
<summary>
Creates a new writable value initialized to the specified StringBuilder.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewString(System.String,System.Object[])">
<summary>
Creates a new writable value initialized to the specified string using String.Format like syntax
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewCoroutine(MoonSharp.Interpreter.Coroutine)">
<summary>
Creates a new writable value initialized to the specified coroutine.
Internal use only, for external use, see Script.CoroutineCreate
</summary>
<param name="coroutine">The coroutine object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewClosure(MoonSharp.Interpreter.Closure)">
<summary>
Creates a new writable value initialized to the specified closure (function).
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewCallback(System.Func{MoonSharp.Interpreter.ScriptExecutionContext,MoonSharp.Interpreter.CallbackArguments,MoonSharp.Interpreter.DynValue},System.String)">
<summary>
Creates a new writable value initialized to the specified CLR callback.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewCallback(MoonSharp.Interpreter.CallbackFunction)">
<summary>
Creates a new writable value initialized to the specified CLR callback.
See also CallbackFunction.FromDelegate and CallbackFunction.FromMethodInfo factory methods.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewTable(MoonSharp.Interpreter.Table)">
<summary>
Creates a new writable value initialized to the specified table.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewPrimeTable">
<summary>
Creates a new writable value initialized to an empty prime table (a
prime table is a table made only of numbers, strings, booleans and other
prime tables).
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewTable(MoonSharp.Interpreter.Script)">
<summary>
Creates a new writable value initialized to an empty table.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewTable(MoonSharp.Interpreter.Script,MoonSharp.Interpreter.DynValue[])">
<summary>
Creates a new writable value initialized to with array contents.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewTailCallReq(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue[])">
<summary>
Creates a new request for a tail call. This is the preferred way to execute Lua/MoonSharp code from a callback,
although it's not always possible to use it. When a function (callback or script closure) returns a
TailCallRequest, the bytecode processor immediately executes the function contained in the request.
By executing script in this way, a callback function ensures it's not on the stack anymore and thus a number
of functionality (state savings, coroutines, etc) keeps working at full power.
</summary>
<param name="tailFn">The function to be called.</param>
<param name="args">The arguments.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewTailCallReq(MoonSharp.Interpreter.TailCallData)">
<summary>
Creates a new request for a tail call. This is the preferred way to execute Lua/MoonSharp code from a callback,
although it's not always possible to use it. When a function (callback or script closure) returns a
TailCallRequest, the bytecode processor immediately executes the function contained in the request.
By executing script in this way, a callback function ensures it's not on the stack anymore and thus a number
of functionality (state savings, coroutines, etc) keeps working at full power.
</summary>
<param name="tailCallData">The data for the tail call.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewYieldReq(MoonSharp.Interpreter.DynValue[])">
<summary>
Creates a new request for a yield of the current coroutine.
</summary>
<param name="args">The yield argumenst.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewForcedYieldReq">
<summary>
Creates a new request for a yield of the current coroutine.
</summary>
<param name="args">The yield argumenst.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewTuple(MoonSharp.Interpreter.DynValue[])">
<summary>
Creates a new tuple initialized to the specified values.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewTupleNested(MoonSharp.Interpreter.DynValue[])">
<summary>
Creates a new tuple initialized to the specified values - which can be potentially other tuples
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.NewUserData(MoonSharp.Interpreter.UserData)">
<summary>
Creates a new userdata value
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.AsReadOnly">
<summary>
Returns this value as readonly - eventually cloning it in the process if it isn't readonly to start with.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.Clone">
<summary>
Clones this instance.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.Clone(System.Boolean)">
<summary>
Clones this instance, overriding the "readonly" status.
</summary>
<param name="readOnly">if set to <c>true</c> the new instance is set as readonly, or writeable otherwise.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.CloneAsWritable">
<summary>
Clones this instance, returning a writable copy.
</summary>
<exception cref="T:System.ArgumentException">Can't clone Symbol values</exception>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Void">
<summary>
A preinitialized, readonly instance, equaling Void
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.Nil">
<summary>
A preinitialized, readonly instance, equaling Nil
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.True">
<summary>
A preinitialized, readonly instance, equaling True
</summary>
</member>
<member name="P:MoonSharp.Interpreter.DynValue.False">
<summary>
A preinitialized, readonly instance, equaling False
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.ToPrintString">
<summary>
Returns a string which is what it's expected to be output by the print function applied to this value.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.Equals(System.Object)">
<summary>
Determines whether the specified <see cref="T:System.Object" />, is equal to this instance.
</summary>
<param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
<returns>
<c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.CastToString">
<summary>
Casts this DynValue to string, using coercion if the type is number.
</summary>
<returns>The string representation, or null if not number, not string.</returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.CastToNumber">
<summary>
Casts this DynValue to a double, using coercion if the type is string.
</summary>
<returns>The string representation, or null if not number, not string or non-convertible-string.</returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.CastToBool">
<summary>
Casts this DynValue to a bool
</summary>
<returns>False if value is false or nil, true otherwise.</returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.GetAsPrivateResource">
<summary>
Returns this DynValue as an instance of <see cref="T:MoonSharp.Interpreter.IScriptPrivateResource"/>, if possible,
null otherwise
</summary>
<returns>False if value is false or nil, true otherwise.</returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.ToScalar">
<summary>
Converts a tuple to a scalar value. If it's already a scalar value, this function returns "this".
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.Assign(MoonSharp.Interpreter.DynValue)">
<summary>
Performs an assignment, overwriting the value with the specified one.
</summary>
<param name="value">The value.</param>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">If the value is readonly.</exception>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.GetLength">
<summary>
Gets the length of a string or table value.
</summary>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">Value is not a table or string.</exception>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.IsNil">
<summary>
Determines whether this instance is nil or void
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.IsNotNil">
<summary>
Determines whether this instance is not nil or void
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.IsVoid">
<summary>
Determines whether this instance is void
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.IsNotVoid">
<summary>
Determines whether this instance is not void
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.IsNilOrNan">
<summary>
Determines whether is nil, void or NaN (and thus unsuitable for using as a table key).
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.AssignNumber(System.Double)">
<summary>
Changes the numeric value of a number DynValue.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.FromObject(MoonSharp.Interpreter.Script,System.Object)">
<summary>
Creates a new DynValue from a CLR object
</summary>
<param name="script">The script.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.ToObject">
<summary>
Converts this MoonSharp DynValue to a CLR object.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.ToObject``1">
<summary>
Converts this MoonSharp DynValue to a CLR object of the specified type.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.CheckType(System.String,MoonSharp.Interpreter.DataType,System.Int32,MoonSharp.Interpreter.TypeValidationFlags)">
<summary>
Checks the type of this value corresponds to the desired type. A propert ScriptRuntimeException is thrown
if the value is not of the specified type or - considering the TypeValidationFlags - is not convertible
to the specified type.
</summary>
<param name="funcName">Name of the function requesting the value, for error message purposes.</param>
<param name="desiredType">The desired data type.</param>
<param name="argNum">The argument number, for error message purposes.</param>
<param name="flags">The TypeValidationFlags.</param>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">Thrown
if the value is not of the specified type or - considering the TypeValidationFlags - is not convertible
to the specified type.</exception>
</member>
<member name="M:MoonSharp.Interpreter.DynValue.CheckUserDataType``1(System.String,System.Int32,MoonSharp.Interpreter.TypeValidationFlags)">
<summary>
Checks if the type is a specific userdata type, and returns it or throws.
</summary>
<typeparam name="T"></typeparam>
<param name="funcName">Name of the function.</param>
<param name="argNum">The argument number.</param>
<param name="flags">The flags.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.TablePair">
<summary>
A class representing a key/value pair for Table use
</summary>
</member>
<member name="P:MoonSharp.Interpreter.TablePair.Key">
<summary>
Gets the key.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.TablePair.Value">
<summary>
Gets or sets the value.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.TablePair.#ctor(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.TablePair"/> struct.
</summary>
<param name="key">The key.</param>
<param name="val">The value.</param>
</member>
<member name="P:MoonSharp.Interpreter.TablePair.Nil">
<summary>
Gets the nil pair
</summary>
</member>
<member name="T:MoonSharp.Interpreter.ScriptExecutionContext">
<summary>
Class giving access to details of the environment where the script is executing
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptExecutionContext.IsDynamicExecution">
<summary>
Gets a value indicating whether this instance is running a dynamic execution.
Under a dynamic execution, most methods of ScriptExecutionContext are not reliable as the
processing engine of the script is not "really" running or is not available.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptExecutionContext.CallingLocation">
<summary>
Gets the location of the code calling back
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptExecutionContext.AdditionalData">
<summary>
Gets or sets the additional data associated to this CLR function call.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.GetMetatable(MoonSharp.Interpreter.DynValue)">
<summary>
Gets the metatable associated with the given value.
</summary>
<param name="value">The value.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.GetMetamethod(MoonSharp.Interpreter.DynValue,System.String)">
<summary>
Gets the specified metamethod associated with the given value.
</summary>
<param name="value">The value.</param>
<param name="metamethod">The metamethod name.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.GetMetamethodTailCall(MoonSharp.Interpreter.DynValue,System.String,MoonSharp.Interpreter.DynValue[])">
<summary>
prepares a tail call request for the specified metamethod, or null if no metamethod is found.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.GetBinaryMetamethod(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue,System.String)">
<summary>
Gets the metamethod to be used for a binary operation using op1 and op2.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.GetScript">
<summary>
Gets the script object associated with this request
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.GetCallingCoroutine">
<summary>
Gets the coroutine which is performing the call
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.EmulateClassicCall(MoonSharp.Interpreter.CallbackArguments,System.String,System.Func{MoonSharp.Interpreter.Interop.LuaStateInterop.LuaState,System.Int32})">
<summary>
Calls a callback function implemented in "classic way".
Useful to port C code from Lua, or C# code from UniLua and KopiLua.
Lua : http://www.lua.org/
UniLua : http://github.com/xebecnan/UniLua
KopiLua : http://github.com/NLua/KopiLua
</summary>
<param name="args">The arguments.</param>
<param name="functionName">Name of the function - for error messages.</param>
<param name="callback">The callback.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.Call(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue[])">
<summary>
Calls the specified function, supporting most cases. The called function must not yield.
</summary>
<param name="func">The function; it must be a Function or ClrFunction or have a call metamethod defined.</param>
<param name="args">The arguments.</param>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">If the function yields, returns a tail call request with continuations/handlers or, of course, if it encounters errors.</exception>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.EvaluateSymbol(MoonSharp.Interpreter.SymbolRef)">
<summary>
Tries to get the reference of a symbol in the current execution state
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.EvaluateSymbolByName(System.String)">
<summary>
Tries to get the value of a symbol in the current execution state
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.FindSymbolByName(System.String)">
<summary>
Finds a symbol by name in the current execution state
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptExecutionContext.CurrentGlobalEnv">
<summary>
Gets the current global env, or null if not found.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ScriptExecutionContext.PerformMessageDecorationBeforeUnwind(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.ScriptRuntimeException)">
<summary>
Performs a message decoration before unwinding after an error. To be used in the implementation of xpcall like functions.
</summary>
<param name="messageHandler">The message handler.</param>
<param name="exception">The exception.</param>
</member>
<member name="P:MoonSharp.Interpreter.ScriptExecutionContext.OwnerScript">
<summary>
Gets the script owning this resource.
</summary>
<value>
The script owning this resource.
</value>
</member>
<member name="T:MoonSharp.Interpreter.CoroutineState">
<summary>
State of coroutines
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoroutineState.Main">
<summary>
This is the main coroutine
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoroutineState.NotStarted">
<summary>
Coroutine has not started yet
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoroutineState.Suspended">
<summary>
Coroutine is suspended
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoroutineState.ForceSuspended">
<summary>
Coroutine has been forcefully suspended (i.e. auto-yielded)
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoroutineState.Running">
<summary>
Coroutine is running
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoroutineState.Dead">
<summary>
Coroutine has terminated
</summary>
</member>
<member name="T:MoonSharp.Interpreter.LinqHelpers">
<summary>
LINQ helper methods
</summary>
</member>
<member name="M:MoonSharp.Interpreter.LinqHelpers.Convert``1(System.Collections.Generic.IEnumerable{MoonSharp.Interpreter.DynValue},MoonSharp.Interpreter.DataType)">
<summary>
Converts the specified enumerable dynvalues of a given script type to objects of a given type
</summary>
<typeparam name="T">The desired type</typeparam>
<param name="enumerable">The enumerable.</param>
<param name="type">The type.</param>
</member>
<member name="M:MoonSharp.Interpreter.LinqHelpers.OfDataType(System.Collections.Generic.IEnumerable{MoonSharp.Interpreter.DynValue},MoonSharp.Interpreter.DataType)">
<summary>
Filters an enumeration for items of the given script type
</summary>
<param name="enumerable">The enumerable.</param>
<param name="type">The script type.</param>
</member>
<member name="M:MoonSharp.Interpreter.LinqHelpers.AsObjects(System.Collections.Generic.IEnumerable{MoonSharp.Interpreter.DynValue})">
<summary>
Converts the elements to CLR objects
</summary>
<param name="enumerable">The enumerable.</param>
</member>
<member name="M:MoonSharp.Interpreter.LinqHelpers.AsObjects``1(System.Collections.Generic.IEnumerable{MoonSharp.Interpreter.DynValue})">
<summary>
Converts the elements to CLR objects of the desired type
</summary>
<typeparam name="T">The desired type</typeparam>
<param name="enumerable">The enumerable.</param>
</member>
<member name="T:MoonSharp.Interpreter.MoonSharpUserDataAttribute">
<summary>
Marks a type of automatic registration as userdata (which happens only if UserData.RegisterAssembly is called).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.MoonSharpUserDataAttribute.AccessMode">
<summary>
The interop access mode
</summary>
</member>
<member name="M:MoonSharp.Interpreter.MoonSharpUserDataAttribute.#ctor">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.MoonSharpUserDataAttribute"/> class.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor">
<summary>
Descriptor which acts as a non-containing adapter from IUserDataType to IUserDataDescriptor
</summary>
</member>
<member name="M:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor.#ctor(System.Type,System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor"/> class.
</summary>
<param name="type">The type.</param>
<param name="friendlyName">Name of the friendly.</param>
</member>
<member name="P:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor.Name">
<summary>
Gets the name of the descriptor (usually, the name of the type described).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor.Type">
<summary>
Gets the type this descriptor refers to
</summary>
</member>
<member name="M:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor.Index(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "get" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor.SetIndex(MoonSharp.Interpreter.Script,System.Object,MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue,System.Boolean)">
<summary>
Performs an "index" "set" operation.
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="index">The index.</param>
<param name="value">The value to be set</param>
<param name="isDirectIndexing">If set to true, it's indexed with a name, if false it's indexed through brackets.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor.AsString(System.Object)">
<summary>
Converts this userdata to string
</summary>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor.MetaIndex(MoonSharp.Interpreter.Script,System.Object,System.String)">
<summary>
Gets a "meta" operation on this userdata. If a descriptor does not support this functionality,
it should return "null" (not a nil).
These standard metamethods can be supported (the return value should be a function accepting the
classic parameters of the corresponding metamethod):
__add, __sub, __mul, __div, __div, __pow, __unm, __eq, __lt, __le, __lt, __len, __concat,
__pairs, __ipairs, __iterator, __call
These standard metamethods are supported through other calls for efficiency:
__index, __newindex, __tostring
</summary>
<param name="script">The script originating the request</param>
<param name="obj">The object (null if a static request is done)</param>
<param name="metaname">The name of the metamember.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.AutoDescribingUserDataDescriptor.IsTypeCompatible(System.Type,System.Object)">
<summary>
Determines whether the specified object is compatible with the specified type.
Unless a very specific behaviour is needed, the correct implementation is a
simple " return type.IsInstanceOfType(obj); "
</summary>
<param name="type">The type.</param>
<param name="obj">The object.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.InteropAccessMode">
<summary>
Enumerations of the possible strategies to marshal CLR objects to MoonSharp userdata and functions
when using automatic descriptors.
Note that these are "hints" and MoonSharp is free to ignore the access mode specified (if different from
HideMembers) and downgrade the access mode to "Reflection".
This particularly happens when running on AOT platforms like iOS.
See also : <see cref="T:MoonSharp.Interpreter.CallbackFunction"/> and <see cref="T:MoonSharp.Interpreter.UserData"/> .
</summary>
</member>
<member name="F:MoonSharp.Interpreter.InteropAccessMode.Reflection">
<summary>
Optimization is not performed and reflection is used everytime to access members.
This is the slowest approach but saves a lot of memory if members are seldomly used.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.InteropAccessMode.LazyOptimized">
<summary>
Optimization is done on the fly the first time a member is accessed.
This saves memory for all members that are never accessed, at the cost of an increased script execution time.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.InteropAccessMode.Preoptimized">
<summary>
Optimization is done at registration time.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.InteropAccessMode.BackgroundOptimized">
<summary>
Optimization is done in a background thread which starts at registration time.
If a member is accessed before optimization is completed, reflection is used.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.InteropAccessMode.Hardwired">
<summary>
Use the hardwired descriptor(s)
</summary>
</member>
<member name="F:MoonSharp.Interpreter.InteropAccessMode.HideMembers">
<summary>
No optimization is done, and members are not accessible at all.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.InteropAccessMode.NoReflectionAllowed">
<summary>
No reflection is allowed, nor code generation. This is used as a safeguard when registering types which should not
use a standard reflection based descriptor - for example for types implementing <see cref="T:MoonSharp.Interpreter.Interop.IUserDataType" />
</summary>
</member>
<member name="F:MoonSharp.Interpreter.InteropAccessMode.Default">
<summary>
Use the default access mode
</summary>
</member>
<member name="T:MoonSharp.Interpreter.SymbolRefType">
<summary>
Enumeration of the types of SymbolRef
</summary>
</member>
<member name="F:MoonSharp.Interpreter.SymbolRefType.Local">
<summary>
The symbol ref of a local variable
</summary>
</member>
<member name="F:MoonSharp.Interpreter.SymbolRefType.Upvalue">
<summary>
The symbol ref of an upvalue variable
</summary>
</member>
<member name="F:MoonSharp.Interpreter.SymbolRefType.Global">
<summary>
The symbol ref of a global variable
</summary>
</member>
<member name="F:MoonSharp.Interpreter.SymbolRefType.DefaultEnv">
<summary>
The symbol ref of the global environment
</summary>
</member>
<member name="T:MoonSharp.Interpreter.SymbolRef">
<summary>
This class stores a possible l-value (that is a potential target of an assignment)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.SymbolRef.Type">
<summary>
Gets the type of this symbol reference
</summary>
</member>
<member name="P:MoonSharp.Interpreter.SymbolRef.Index">
<summary>
Gets the index of this symbol in its scope context
</summary>
</member>
<member name="P:MoonSharp.Interpreter.SymbolRef.Name">
<summary>
Gets the name of this symbol
</summary>
</member>
<member name="P:MoonSharp.Interpreter.SymbolRef.Environment">
<summary>
Gets the environment this symbol refers to (for global symbols only)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.SymbolRef.DefaultEnv">
<summary>
Gets the default _ENV.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.SymbolRef.Global(System.String,MoonSharp.Interpreter.SymbolRef)">
<summary>
Creates a new symbol reference pointing to a global var
</summary>
<param name="name">The name.</param>
<param name="envSymbol">The _ENV symbol.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.SymbolRef.Local(System.String,System.Int32)">
<summary>
Creates a new symbol reference pointing to a local var
</summary>
<param name="name">The name.</param>
<param name="index">The index of the var in local scope.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.SymbolRef.Upvalue(System.String,System.Int32)">
<summary>
Creates a new symbol reference pointing to an upvalue var
</summary>
<param name="name">The name.</param>
<param name="index">The index of the var in closure scope.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.SymbolRef.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.SymbolRef.WriteBinary(System.IO.BinaryWriter)">
<summary>
Writes this instance to a binary stream
</summary>
</member>
<member name="M:MoonSharp.Interpreter.SymbolRef.ReadBinary(System.IO.BinaryReader)">
<summary>
Reads a symbolref from a binary stream
</summary>
</member>
<member name="T:MoonSharp.Interpreter.DataType">
<summary>
Enumeration of possible data types in MoonSharp
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.Nil">
<summary>
A nil value, as in Lua
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.Void">
<summary>
A place holder for no value
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.Boolean">
<summary>
A Lua boolean
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.Number">
<summary>
A Lua number
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.String">
<summary>
A Lua string
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.Function">
<summary>
A Lua function
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.Table">
<summary>
A Lua table
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.Tuple">
<summary>
A set of multiple values
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.UserData">
<summary>
A userdata reference - that is a wrapped CLR object
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.Thread">
<summary>
A coroutine handle
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.ClrFunction">
<summary>
A callback function
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.TailCallRequest">
<summary>
A request to execute a tail call
</summary>
</member>
<member name="F:MoonSharp.Interpreter.DataType.YieldRequest">
<summary>
A request to coroutine.yield
</summary>
</member>
<member name="T:MoonSharp.Interpreter.LuaTypeExtensions">
<summary>
Extension methods to DataType
</summary>
</member>
<member name="M:MoonSharp.Interpreter.LuaTypeExtensions.CanHaveTypeMetatables(MoonSharp.Interpreter.DataType)">
<summary>
Determines whether this data type can have type metatables.
</summary>
<param name="type">The type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.LuaTypeExtensions.ToErrorTypeString(MoonSharp.Interpreter.DataType)">
<summary>
Converts the DataType to the string returned by the "type(...)" Lua function
</summary>
<param name="type">The type.</param>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">The DataType is not a Lua type</exception>
</member>
<member name="M:MoonSharp.Interpreter.LuaTypeExtensions.ToLuaDebuggerString(MoonSharp.Interpreter.DataType)">
<summary>
Converts the DataType to the string returned by the "type(...)" Lua function, with additional values
to support debuggers
</summary>
<param name="type">The type.</param>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">The DataType is not a Lua type</exception>
</member>
<member name="M:MoonSharp.Interpreter.LuaTypeExtensions.ToLuaTypeString(MoonSharp.Interpreter.DataType)">
<summary>
Converts the DataType to the string returned by the "type(...)" Lua function
</summary>
<param name="type">The type.</param>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">The DataType is not a Lua type</exception>
</member>
<member name="T:MoonSharp.Interpreter.Loaders.EmbeddedResourcesScriptLoader">
<summary>
A script loader loading scripts from an assembly resources
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.EmbeddedResourcesScriptLoader.#ctor(System.Reflection.Assembly)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Loaders.EmbeddedResourcesScriptLoader"/> class.
</summary>
<param name="resourceAssembly">The assembly containing the scripts as embedded resources or null to use the calling assembly.</param>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.EmbeddedResourcesScriptLoader.ScriptFileExists(System.String)">
<summary>
Checks if a script file exists.
</summary>
<param name="name">The script filename.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.EmbeddedResourcesScriptLoader.LoadFile(System.String,MoonSharp.Interpreter.Table)">
<summary>
Opens a file for reading the script code.
It can return either a string, a byte[] or a Stream.
If a byte[] is returned, the content is assumed to be a serialized (dumped) bytecode. If it's a string, it's
assumed to be either a script or the output of a string.dump call. If a Stream, autodetection takes place.
</summary>
<param name="file">The file.</param>
<param name="globalContext">The global context.</param>
<returns>
A string, a byte[] or a Stream.
</returns>
</member>
<member name="T:MoonSharp.Interpreter.Loaders.FileSystemScriptLoader">
<summary>
A script loader loading scripts directly from the file system (does not go through platform object)
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.FileSystemScriptLoader.ScriptFileExists(System.String)">
<summary>
Checks if a script file exists.
</summary>
<param name="name">The script filename.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.FileSystemScriptLoader.LoadFile(System.String,MoonSharp.Interpreter.Table)">
<summary>
Opens a file for reading the script code.
It can return either a string, a byte[] or a Stream.
If a byte[] is returned, the content is assumed to be a serialized (dumped) bytecode. If it's a string, it's
assumed to be either a script or the output of a string.dump call. If a Stream, autodetection takes place.
</summary>
<param name="file">The file.</param>
<param name="globalContext">The global context.</param>
<returns>
A string, a byte[] or a Stream.
</returns>
</member>
<member name="T:MoonSharp.Interpreter.Loaders.InvalidScriptLoader">
<summary>
A script loader used for platforms we cannot initialize in any better way..
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Loaders.ScriptLoaderBase">
<summary>
A base implementation of IScriptLoader, offering resolution of module names.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.ScriptFileExists(System.String)">
<summary>
Checks if a script file exists.
</summary>
<param name="name">The script filename.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.LoadFile(System.String,MoonSharp.Interpreter.Table)">
<summary>
Opens a file for reading the script code.
It can return either a string, a byte[] or a Stream.
If a byte[] is returned, the content is assumed to be a serialized (dumped) bytecode. If it's a string, it's
assumed to be either a script or the output of a string.dump call. If a Stream, autodetection takes place.
</summary>
<param name="file">The file.</param>
<param name="globalContext">The global context.</param>
<returns>
A string, a byte[] or a Stream.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.ResolveModuleName(System.String,System.String[])">
<summary>
Resolves the name of a module on a set of paths.
</summary>
<param name="modname">The modname.</param>
<param name="paths">The paths.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.ResolveModuleName(System.String,MoonSharp.Interpreter.Table)">
<summary>
Resolves the name of a module to a filename (which will later be passed to OpenScriptFile).
The resolution happens first on paths included in the LUA_PATH global variable (if and only if
the IgnoreLuaPathGlobal is false), and - if the variable does not exist - by consulting the
ScriptOptions.ModulesPaths array. Override to provide a different behaviour.
</summary>
<param name="modname">The modname.</param>
<param name="globalContext">The global context.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.ModulePaths">
<summary>
Gets or sets the modules paths used by the "require" function. If null, the default paths are used (using
environment variables etc.).
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.UnpackStringPaths(System.String)">
<summary>
Unpacks a string path in a form like "?;?.lua" to an array
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.GetDefaultEnvironmentPaths">
<summary>
Gets the default environment paths.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.ResolveFileName(System.String,MoonSharp.Interpreter.Table)">
<summary>
Resolves a filename [applying paths, etc.]
</summary>
<param name="filename">The filename.</param>
<param name="globalContext">The global context.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Loaders.ScriptLoaderBase.IgnoreLuaPathGlobal">
<summary>
Gets or sets a value indicating whether the LUA_PATH global is checked or not to get the path where modules are contained.
If true, the LUA_PATH global is NOT checked.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Loaders.IScriptLoader">
<summary>
Class dictating how requests to read scripts from files are handled.
It's recommended that no class implement IScriptLoader directly, and rather extend ScriptLoaderBase.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.IScriptLoader.LoadFile(System.String,MoonSharp.Interpreter.Table)">
<summary>
Opens a file for reading the script code.
It can return either a string, a byte[] or a Stream.
If a byte[] is returned, the content is assumed to be a serialized (dumped) bytecode. If it's a string, it's
assumed to be either a script or the output of a string.dump call. If a Stream, autodetection takes place.
</summary>
<param name="file">The file.</param>
<param name="globalContext">The global context.</param>
<returns>
A string, a byte[] or a Stream.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.IScriptLoader.ResolveFileName(System.String,MoonSharp.Interpreter.Table)">
<summary>
Resolves a filename [applying paths, etc.]
</summary>
<param name="filename">The filename.</param>
<param name="globalContext">The global context.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.IScriptLoader.ResolveModuleName(System.String,MoonSharp.Interpreter.Table)">
<summary>
Resolves the name of a module to a filename (which will later be passed to OpenScriptFile)
</summary>
<param name="modname">The modname.</param>
<param name="globalContext">The global context.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader">
<summary>
A script loader which can load scripts from assets in Unity3D.
Scripts should be saved as .txt files in a subdirectory of Assets/Resources.
When MoonSharp is activated on Unity3D and the default script loader is used,
scripts should be saved as .txt files in Assets/Resources/MoonSharp/Scripts.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader.DEFAULT_PATH">
<summary>
The default path where scripts are meant to be stored (if not changed)
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader"/> class.
</summary>
<param name="assetsPath">The path, relative to Assets/Resources. For example
if your scripts are stored under Assets/Resources/Scripts, you should
pass the value "Scripts". If null, "MoonSharp/Scripts" is used. </param>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader.#ctor(System.Collections.Generic.Dictionary{System.String,System.String})">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader"/> class.
</summary>
<param name="scriptToCodeMap">A dictionary mapping filenames to the proper Lua script code.</param>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader.LoadFile(System.String,MoonSharp.Interpreter.Table)">
<summary>
Opens a file for reading the script code.
It can return either a string, a byte[] or a Stream.
If a byte[] is returned, the content is assumed to be a serialized (dumped) bytecode. If it's a string, it's
assumed to be either a script or the output of a string.dump call. If a Stream, autodetection takes place.
</summary>
<param name="file">The file.</param>
<param name="globalContext">The global context.</param>
<returns>
A string, a byte[] or a Stream.
</returns>
<exception cref="T:System.Exception">UnityAssetsScriptLoader.LoadFile : Cannot load + file</exception>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader.ScriptFileExists(System.String)">
<summary>
Checks if a given file exists
</summary>
<param name="file">The file.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Loaders.UnityAssetsScriptLoader.GetLoadedScripts">
<summary>
Gets the list of loaded scripts filenames (useful for debugging purposes).
</summary>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Loaders.NamespaceDoc">
<summary>
Namespace containing classes used to customized how scripts are loaded from external files.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.REPL.ReplHistoryInterpreter">
<summary>
An implementation of <see cref="T:MoonSharp.Interpreter.REPL.ReplInterpreter"/> which supports a very basic history of recent input lines.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.REPL.ReplHistoryInterpreter.#ctor(MoonSharp.Interpreter.Script,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.REPL.ReplHistoryInterpreter"/> class.
</summary>
<param name="script">The script.</param>
<param name="historySize">Size of the history.</param>
</member>
<member name="M:MoonSharp.Interpreter.REPL.ReplHistoryInterpreter.Evaluate(System.String)">
<summary>
Evaluate a REPL command.
This method returns the result of the computation, or null if more input is needed for having valid code.
In case of errors, exceptions are propagated to the caller.
</summary>
<param name="input">The input.</param>
<returns>
This method returns the result of the computation, or null if more input is needed for a computation.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.REPL.ReplHistoryInterpreter.HistoryPrev">
<summary>
Gets the previous item in history, or null
</summary>
</member>
<member name="M:MoonSharp.Interpreter.REPL.ReplHistoryInterpreter.HistoryNext">
<summary>
Gets the next item in history, or null
</summary>
</member>
<member name="T:MoonSharp.Interpreter.REPL.ReplInterpreterScriptLoader">
<summary>
A script loader loading scripts directly from the file system (does not go through platform object)
AND starts with module paths taken from environment variables (again, not going through the platform object).
The paths are preconstructed using :
* The MOONSHARP_PATH environment variable if it exists
* The LUA_PATH_5_2 environment variable if MOONSHARP_PATH does not exists
* The LUA_PATH environment variable if LUA_PATH_5_2 and MOONSHARP_PATH do not exists
* The "?;?.lua" path if all the above fail
Also, everytime a module is require(d), the "LUA_PATH" global variable is checked. If it exists, those paths
will be used to load the module instead of the global ones.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.REPL.ReplInterpreterScriptLoader.#ctor">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.REPL.ReplInterpreterScriptLoader"/> class.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.REPL.ReplInterpreterScriptLoader.ResolveModuleName(System.String,MoonSharp.Interpreter.Table)">
<summary>
Resolves the name of a module to a filename (which will later be passed to OpenScriptFile).
The resolution happens first on paths included in the LUA_PATH global variable, and -
if the variable does not exist - by consulting the
ScriptOptions.ModulesPaths array. Override to provide a different behaviour.
</summary>
<param name="modname">The modname.</param>
<param name="globalContext">The global context.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.REPL.NamespaceDoc">
<summary>
Contains classes useful to implement REPL interpreters.
See : <see href="http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop" />
</summary>
</member>
<member name="T:MoonSharp.Interpreter.REPL.ReplInterpreter">
<summary>
This class provides a simple REPL intepreter ready to be reused in a simple way.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.REPL.ReplInterpreter.#ctor(MoonSharp.Interpreter.Script)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.REPL.ReplInterpreter"/> class.
</summary>
<param name="script">The script.</param>
</member>
<member name="P:MoonSharp.Interpreter.REPL.ReplInterpreter.HandleDynamicExprs">
<summary>
Gets or sets a value indicating whether this instances handle inputs starting with a "?" as a
dynamic expression to evaluate instead of script code (likely invalid)
</summary>
</member>
<member name="P:MoonSharp.Interpreter.REPL.ReplInterpreter.HandleClassicExprsSyntax">
<summary>
Gets or sets a value indicating whether this instances handle inputs starting with a "=" as a
non-dynamic expression to evaluate (just like the Lua interpreter does by default).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.REPL.ReplInterpreter.HasPendingCommand">
<summary>
Gets a value indicating whether this instance has a pending command
</summary>
</member>
<member name="P:MoonSharp.Interpreter.REPL.ReplInterpreter.CurrentPendingCommand">
<summary>
Gets the current pending command.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.REPL.ReplInterpreter.ClassicPrompt">
<summary>
Gets the classic prompt (">" or ">>") given the current state of the interpreter
</summary>
</member>
<member name="M:MoonSharp.Interpreter.REPL.ReplInterpreter.Evaluate(System.String)">
<summary>
Evaluate a REPL command.
This method returns the result of the computation, or null if more input is needed for having valid code.
In case of errors, exceptions are propagated to the caller.
</summary>
<param name="input">The input.</param>
<returns>This method returns the result of the computation, or null if more input is needed for a computation.</returns>
</member>
<member name="T:MoonSharp.Interpreter.MoonSharpModuleConstantAttribute">
<summary>
In a module type, mark fields with this attribute to have them exposed as a module constant.
See <see cref="T:MoonSharp.Interpreter.MoonSharpModuleAttribute"/> for more information about modules.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.MoonSharpModuleConstantAttribute.Name">
<summary>
Gets or sets the name of the constant - if different from the name of the field itself
</summary>
</member>
<member name="T:MoonSharp.Interpreter.NamespaceDoc">
<summary>
Namespace containing all the most commonly used classes for MoonSharp operation.
When in doubt, refer to <see cref="T:MoonSharp.Interpreter.Script" /> and <see cref="T:MoonSharp.Interpreter.DynValue" /> classes as starting points.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Platforms.NamespaceDoc">
<summary>
Namespace containing classes used to customize how the interfacing with the operative system happens
for the 'os' and 'io' modules, and for future modules/classes which may require OS access.
See <see cref="T:MoonSharp.Interpreter.Platforms.IPlatformAccessor"/> and <see cref="P:MoonSharp.Interpreter.ScriptGlobalOptions.Platform"/> .
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Platforms.IPlatformAccessor">
<summary>
Interface to abstract all accesses made to the underlying platform (OS, framework) by the scripting engine.
Can be used both to support "non-standard" platforms (i.e. non-posix, non-windows) and/or to sandbox the behaviour
of the scripting engine.
It's recommended that no class implement IPlatformAccessor directly, and rather extend <see cref="T:MoonSharp.Interpreter.Platforms.PlatformAccessorBase"/>.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.FilterSupportedCoreModules(MoonSharp.Interpreter.CoreModules)">
<summary>
Filters the CoreModules enumeration to exclude non-supported operations
</summary>
<param name="module">The requested modules.</param>
<returns>
The requested modules, with unsupported modules filtered out.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.GetEnvironmentVariable(System.String)">
<summary>
Gets an environment variable. Must be implemented, but an implementation is allowed
to always return null if a more meaningful implementation cannot be achieved or is
not desired.
</summary>
<param name="envvarname">The envvarname.</param>
<returns>
The environment variable value, or null if not found
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.IsRunningOnAOT">
<summary>
Determines whether the application is running in AOT (ahead-of-time) mode
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.GetPlatformName">
<summary>
Gets the name of the platform (used for debug purposes).
</summary>
<returns>The name of the platform (used for debug purposes)</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.DefaultPrint(System.String)">
<summary>
Default handler for 'print' calls. Can be customized in ScriptOptions
</summary>
<param name="content">The content.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.DefaultInput(System.String)">
<summary>
Default handler for interactive line input calls. Can be customized in ScriptOptions.
If a meaningful implementation cannot be provided, this method should return null.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.IO_OpenFile(MoonSharp.Interpreter.Script,System.String,System.Text.Encoding,System.String)">
<summary>
A function used to open files in the 'io' module.
Can have an invalid implementation if 'io' module is filtered out.
It should return a correctly initialized Stream for the given file and access
</summary>
<param name="script">The script.</param>
<param name="filename">The filename.</param>
<param name="encoding">The encoding.</param>
<param name="mode">The mode (as per Lua usage - e.g. 'w+', 'rb', etc.).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.IO_GetStandardStream(MoonSharp.Interpreter.Platforms.StandardFileType)">
<summary>
Gets a standard stream (stdin, stdout, stderr).
</summary>
<param name="type">The type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.IO_OS_GetTempFilename">
<summary>
Gets a temporary filename. Used in 'io' and 'os' modules.
Can have an invalid implementation if 'io' and 'os' modules are filtered out.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.OS_ExitFast(System.Int32)">
<summary>
Exits the process, returning the specified exit code.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="exitCode">The exit code.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.OS_FileExists(System.String)">
<summary>
Checks if a file exists. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="file">The file.</param>
<returns>True if the file exists, false otherwise.</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.OS_FileDelete(System.String)">
<summary>
Deletes the specified file. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="file">The file.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.OS_FileMove(System.String,System.String)">
<summary>
Moves the specified file. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="src">The source.</param>
<param name="dst">The DST.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.IPlatformAccessor.OS_Execute(System.String)">
<summary>
Executes the specified command line, returning the child process exit code and blocking in the meantime.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="cmdline">The cmdline.</param>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.Platforms.PlatformAccessorBase">
<summary>
An abstract class which offers basic services on top of IPlatformAccessor to provide easier implementation of platforms.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.GetPlatformNamePrefix">
<summary>
Gets the platform name prefix
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.GetPlatformName">
<summary>
Gets the name of the platform (used for debug purposes).
</summary>
<returns>
The name of the platform (used for debug purposes)
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.DefaultPrint(System.String)">
<summary>
Default handler for 'print' calls. Can be customized in ScriptOptions
</summary>
<param name="content">The content.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.DefaultInput">
<summary>
DEPRECATED.
This is kept for backward compatibility, see the overload taking a prompt as an input parameter.
Default handler for interactive line input calls. Can be customized in ScriptOptions.
If an inheriting class whants to give a meaningful implementation, this method MUST be overridden.
</summary>
<returns>null</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.DefaultInput(System.String)">
<summary>
Default handler for interactive line input calls. Can be customized in ScriptOptions.
If an inheriting class whants to give a meaningful implementation, this method MUST be overridden.
</summary>
<returns>null</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.IO_OpenFile(MoonSharp.Interpreter.Script,System.String,System.Text.Encoding,System.String)">
<summary>
A function used to open files in the 'io' module.
Can have an invalid implementation if 'io' module is filtered out.
It should return a correctly initialized Stream for the given file and access
</summary>
<param name="script"></param>
<param name="filename">The filename.</param>
<param name="encoding">The encoding.</param>
<param name="mode">The mode (as per Lua usage - e.g. 'w+', 'rb', etc.).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.IO_GetStandardStream(MoonSharp.Interpreter.Platforms.StandardFileType)">
<summary>
Gets a standard stream (stdin, stdout, stderr).
</summary>
<param name="type">The type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.IO_OS_GetTempFilename">
<summary>
Gets a temporary filename. Used in 'io' and 'os' modules.
Can have an invalid implementation if 'io' and 'os' modules are filtered out.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.OS_ExitFast(System.Int32)">
<summary>
Exits the process, returning the specified exit code.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="exitCode">The exit code.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.OS_FileExists(System.String)">
<summary>
Checks if a file exists. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="file">The file.</param>
<returns>
True if the file exists, false otherwise.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.OS_FileDelete(System.String)">
<summary>
Deletes the specified file. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="file">The file.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.OS_FileMove(System.String,System.String)">
<summary>
Moves the specified file. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="src">The source.</param>
<param name="dst">The DST.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.OS_Execute(System.String)">
<summary>
Executes the specified command line, returning the child process exit code and blocking in the meantime.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="cmdline">The cmdline.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.FilterSupportedCoreModules(MoonSharp.Interpreter.CoreModules)">
<summary>
Filters the CoreModules enumeration to exclude non-supported operations
</summary>
<param name="module">The requested modules.</param>
<returns>
The requested modules, with unsupported modules filtered out.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.GetEnvironmentVariable(System.String)">
<summary>
Gets an environment variable. Must be implemented, but an implementation is allowed
to always return null if a more meaningful implementation cannot be achieved or is
not desired.
</summary>
<param name="envvarname">The envvarname.</param>
<returns>
The environment variable value, or null if not found
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.PlatformAccessorBase.IsRunningOnAOT">
<summary>
Determines whether the application is running in AOT (ahead-of-time) mode
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Platforms.PlatformAutoDetector">
<summary>
A static class offering properties for autodetection of system/platform details
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Platforms.PlatformAutoDetector.IsRunningOnMono">
<summary>
Gets a value indicating whether this instance is running on mono.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Platforms.PlatformAutoDetector.IsRunningOnClr4">
<summary>
Gets a value indicating whether this instance is running on a CLR4 compatible implementation
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Platforms.PlatformAutoDetector.IsRunningOnUnity">
<summary>
Gets a value indicating whether this instance is running on Unity-3D
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Platforms.PlatformAutoDetector.IsPortableFramework">
<summary>
Gets a value indicating whether this instance has been built as a Portable Class Library
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Platforms.PlatformAutoDetector.IsRunningOnAOT">
<summary>
Gets a value indicating whether this instance is running a system using Ahead-Of-Time compilation
and not supporting JIT.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor">
<summary>
A class implementing all the bits needed to have a minimal support of a platform.
This does not support the 'io'/'file' modules and has partial support of the 'os' module.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.GetEnvironmentVariable(System.String)">
<summary>
Gets an environment variable. Must be implemented, but an implementation is allowed
to always return null if a more meaningful implementation cannot be achieved or is
not desired.
</summary>
<param name="envvarname">The envvarname.</param>
<returns>
The environment variable value, or null if not found
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.FilterSupportedCoreModules(MoonSharp.Interpreter.CoreModules)">
<summary>
Filters the CoreModules enumeration to exclude non-supported operations
</summary>
<param name="module">The requested modules.</param>
<returns>
The requested modules, with unsupported modules filtered out.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.IO_OpenFile(MoonSharp.Interpreter.Script,System.String,System.Text.Encoding,System.String)">
<summary>
A function used to open files in the 'io' module.
LimitedPlatformAccessorBase does NOT offer a meaningful implementation of this method and
thus does not support 'io' and 'os' modules.
</summary>
<param name="script"></param>
<param name="filename">The filename.</param>
<param name="encoding">The encoding.</param>
<param name="mode">The mode (as per Lua usage - e.g. 'w+', 'rb', etc.).</param>
<returns></returns>
<exception cref="T:System.NotImplementedException">The current platform accessor does not support 'io' and 'os' operations. Provide your own implementation of platform to work around this limitation, if needed.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.IO_GetStandardStream(MoonSharp.Interpreter.Platforms.StandardFileType)">
<summary>
Gets a standard stream (stdin, stdout, stderr).
LimitedPlatformAccessorBase does NOT offer a meaningful implementation of this method and
thus does not support 'io' and 'os' modules.
</summary>
<param name="type">The type.</param>
<returns></returns>
<exception cref="T:System.NotImplementedException">The current platform accessor does not support 'io' and 'os' operations. Provide your own implementation of platform to work around this limitation, if needed.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.IO_OS_GetTempFilename">
<summary>
Gets a temporary filename. Used in 'io' and 'os' modules.
LimitedPlatformAccessorBase does NOT offer a meaningful implementation of this method and
thus does not support 'io' and 'os' modules.
</summary>
<returns></returns>
<exception cref="T:System.NotImplementedException">The current platform accessor does not support 'io' and 'os' operations. Provide your own implementation of platform to work around this limitation, if needed.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.OS_ExitFast(System.Int32)">
<summary>
Exits the process, returning the specified exit code.
LimitedPlatformAccessorBase does NOT offer a meaningful implementation of this method and
thus does not support 'io' and 'os' modules.
</summary>
<param name="exitCode">The exit code.</param>
<exception cref="T:System.NotImplementedException">The current platform accessor does not support 'io' and 'os' operations. Provide your own implementation of platform to work around this limitation, if needed.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.OS_FileExists(System.String)">
<summary>
Checks if a file exists. Used by the 'os' module.
LimitedPlatformAccessorBase does NOT offer a meaningful implementation of this method and
thus does not support 'io' and 'os' modules.
</summary>
<param name="file">The file.</param>
<returns>
True if the file exists, false otherwise.
</returns>
<exception cref="T:System.NotImplementedException">The current platform accessor does not support 'io' and 'os' operations. Provide your own implementation of platform to work around this limitation, if needed.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.OS_FileDelete(System.String)">
<summary>
Deletes the specified file. Used by the 'os' module.
LimitedPlatformAccessorBase does NOT offer a meaningful implementation of this method and
thus does not support 'io' and 'os' modules.
</summary>
<param name="file">The file.</param>
<exception cref="T:System.NotImplementedException">The current platform accessor does not support 'io' and 'os' operations. Provide your own implementation of platform to work around this limitation, if needed.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.OS_FileMove(System.String,System.String)">
<summary>
Moves the specified file. Used by the 'os' module.
LimitedPlatformAccessorBase does NOT offer a meaningful implementation of this method and
thus does not support 'io' and 'os' modules.
</summary>
<param name="src">The source.</param>
<param name="dst">The DST.</param>
<exception cref="T:System.NotImplementedException">The current platform accessor does not support 'io' and 'os' operations. Provide your own implementation of platform to work around this limitation, if needed.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.OS_Execute(System.String)">
<summary>
Executes the specified command line, returning the child process exit code and blocking in the meantime.
LimitedPlatformAccessorBase does NOT offer a meaningful implementation of this method and
thus does not support 'io' and 'os' modules.
</summary>
<param name="cmdline">The cmdline.</param>
<returns></returns>
<exception cref="T:System.NotImplementedException">The current platform accessor does not support 'io' and 'os' operations. Provide your own implementation of platform to work around this limitation, if needed.</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.GetPlatformNamePrefix">
<summary>
Gets the platform name prefix
</summary>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.LimitedPlatformAccessor.DefaultPrint(System.String)">
<summary>
Default handler for 'print' calls. Can be customized in ScriptOptions
</summary>
<param name="content">The content.</param>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="T:MoonSharp.Interpreter.Platforms.StandardFileType">
<summary>
Enumeration of standard file handles
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Platforms.StandardFileType.StdIn">
<summary>
Standard Input
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Platforms.StandardFileType.StdOut">
<summary>
Standard Output
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Platforms.StandardFileType.StdErr">
<summary>
Standard Error Output
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor">
<summary>
Class providing the IPlatformAccessor interface for standard full-feaured implementations.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.ParseFileAccess(System.String)">
<summary>
Converts a Lua string access mode to a FileAccess enum
</summary>
<param name="mode">The mode.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.ParseFileMode(System.String)">
<summary>
Converts a Lua string access mode to a ParseFileMode enum
</summary>
<param name="mode">The mode.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.IO_OpenFile(MoonSharp.Interpreter.Script,System.String,System.Text.Encoding,System.String)">
<summary>
A function used to open files in the 'io' module.
Can have an invalid implementation if 'io' module is filtered out.
It should return a correctly initialized Stream for the given file and access
</summary>
<param name="script"></param>
<param name="filename">The filename.</param>
<param name="encoding">The encoding.</param>
<param name="mode">The mode (as per Lua usage - e.g. 'w+', 'rb', etc.).</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.GetEnvironmentVariable(System.String)">
<summary>
Gets an environment variable. Must be implemented, but an implementation is allowed
to always return null if a more meaningful implementation cannot be achieved or is
not desired.
</summary>
<param name="envvarname">The envvarname.</param>
<returns>
The environment variable value, or null if not found
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.IO_GetStandardStream(MoonSharp.Interpreter.Platforms.StandardFileType)">
<summary>
Gets a standard stream (stdin, stdout, stderr).
</summary>
<param name="type">The type.</param>
<returns></returns>
<exception cref="T:System.ArgumentException">type</exception>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.DefaultPrint(System.String)">
<summary>
Default handler for 'print' calls. Can be customized in ScriptOptions
</summary>
<param name="content">The content.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.IO_OS_GetTempFilename">
<summary>
Gets a temporary filename. Used in 'io' and 'os' modules.
Can have an invalid implementation if 'io' and 'os' modules are filtered out.
</summary>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.OS_ExitFast(System.Int32)">
<summary>
Exits the process, returning the specified exit code.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="exitCode">The exit code.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.OS_FileExists(System.String)">
<summary>
Checks if a file exists. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="file">The file.</param>
<returns>
True if the file exists, false otherwise.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.OS_FileDelete(System.String)">
<summary>
Deletes the specified file. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="file">The file.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.OS_FileMove(System.String,System.String)">
<summary>
Moves the specified file. Used by the 'os' module.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="src">The source.</param>
<param name="dst">The DST.</param>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.OS_Execute(System.String)">
<summary>
Executes the specified command line, returning the child process exit code and blocking in the meantime.
Can have an invalid implementation if the 'os' module is filtered out.
</summary>
<param name="cmdline">The cmdline.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.FilterSupportedCoreModules(MoonSharp.Interpreter.CoreModules)">
<summary>
Filters the CoreModules enumeration to exclude non-supported operations
</summary>
<param name="module">The requested modules.</param>
<returns>
The requested modules, with unsupported modules filtered out.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Platforms.StandardPlatformAccessor.GetPlatformNamePrefix">
<summary>
Gets the platform name prefix
</summary>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="T:MoonSharp.Interpreter.Script">
<summary>
This class implements a MoonSharp scripting session. Multiple Script objects can coexist in the same program but cannot share
data among themselves unless some mechanism is put in place.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Script.VERSION">
<summary>
The version of the MoonSharp engine
</summary>
</member>
<member name="F:MoonSharp.Interpreter.Script.LUA_VERSION">
<summary>
The Lua version being supported
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Script.#cctor">
<summary>
Initializes the <see cref="T:MoonSharp.Interpreter.Script"/> class.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Script.#ctor">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Script"/> clas.s
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Script.#ctor(MoonSharp.Interpreter.CoreModules)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Script"/> class.
</summary>
<param name="coreModules">The core modules to be pre-registered in the default global table.</param>
</member>
<member name="P:MoonSharp.Interpreter.Script.DefaultOptions">
<summary>
Gets or sets the script loader which will be used as the value of the
ScriptLoader property for all newly created scripts.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Script.Options">
<summary>
Gets access to the script options.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Script.GlobalOptions">
<summary>
Gets the global options, that is options which cannot be customized per-script.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Script.PerformanceStats">
<summary>
Gets access to performance statistics.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Script.Globals">
<summary>
Gets the default global table for this script. Unless a different table is intentionally passed (or setfenv has been used)
execution uses this table.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Script.LoadFunction(System.String,MoonSharp.Interpreter.Table,System.String)">
<summary>
Loads a string containing a Lua/MoonSharp function.
</summary>
<param name="code">The code.</param>
<param name="globalTable">The global table to bind to this chunk.</param>
<param name="funcFriendlyName">Name of the function used to report errors, etc.</param>
<returns>
A DynValue containing a function which will execute the loaded code.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.LoadString(System.String,MoonSharp.Interpreter.Table,System.String)">
<summary>
Loads a string containing a Lua/MoonSharp script.
</summary>
<param name="code">The code.</param>
<param name="globalTable">The global table to bind to this chunk.</param>
<param name="codeFriendlyName">Name of the code - used to report errors, etc.</param>
<returns>
A DynValue containing a function which will execute the loaded code.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.LoadStream(System.IO.Stream,MoonSharp.Interpreter.Table,System.String)">
<summary>
Loads a Lua/MoonSharp script from a System.IO.Stream. NOTE: This will *NOT* close the stream!
</summary>
<param name="stream">The stream containing code.</param>
<param name="globalTable">The global table to bind to this chunk.</param>
<param name="codeFriendlyName">Name of the code - used to report errors, etc.</param>
<returns>
A DynValue containing a function which will execute the loaded code.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.Dump(MoonSharp.Interpreter.DynValue,System.IO.Stream)">
<summary>
Dumps on the specified stream.
</summary>
<param name="function">The function.</param>
<param name="stream">The stream.</param>
<exception cref="T:System.ArgumentException">
function arg is not a function!
or
stream is readonly!
or
function arg has upvalues other than _ENV
</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.LoadFile(System.String,MoonSharp.Interpreter.Table,System.String)">
<summary>
Loads a string containing a Lua/MoonSharp script.
</summary>
<param name="filename">The code.</param>
<param name="globalContext">The global table to bind to this chunk.</param>
<param name="friendlyFilename">The filename to be used in error messages.</param>
<returns>
A DynValue containing a function which will execute the loaded code.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.DoString(System.String,MoonSharp.Interpreter.Table)">
<summary>
Loads and executes a string containing a Lua/MoonSharp script.
</summary>
<param name="code">The code.</param>
<param name="globalContext">The global context.</param>
<returns>
A DynValue containing the result of the processing of the loaded chunk.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.DoStream(System.IO.Stream,MoonSharp.Interpreter.Table)">
<summary>
Loads and executes a stream containing a Lua/MoonSharp script.
</summary>
<param name="stream">The stream.</param>
<param name="globalContext">The global context.</param>
<returns>
A DynValue containing the result of the processing of the loaded chunk.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.DoFile(System.String,MoonSharp.Interpreter.Table)">
<summary>
Loads and executes a file containing a Lua/MoonSharp script.
</summary>
<param name="filename">The filename.</param>
<param name="globalContext">The global context.</param>
<returns>
A DynValue containing the result of the processing of the loaded chunk.
</returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.RunFile(System.String)">
<summary>
Runs the specified file with all possible defaults for quick experimenting.
</summary>
<param name="filename">The filename.</param>
A DynValue containing the result of the processing of the executed script.
</member>
<member name="M:MoonSharp.Interpreter.Script.RunString(System.String)">
<summary>
Runs the specified code with all possible defaults for quick experimenting.
</summary>
<param name="code">The Lua/MoonSharp code.</param>
A DynValue containing the result of the processing of the executed script.
</member>
<member name="M:MoonSharp.Interpreter.Script.MakeClosure(System.Int32,MoonSharp.Interpreter.Table)">
<summary>
Creates a closure from a bytecode address.
</summary>
<param name="address">The address.</param>
<param name="envTable">The env table to create a 0-upvalue</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.Call(MoonSharp.Interpreter.DynValue)">
<summary>
Calls the specified function.
</summary>
<param name="function">The Lua/MoonSharp function to be called</param>
<returns>
The return value(s) of the function call.
</returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.Call(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue[])">
<summary>
Calls the specified function.
</summary>
<param name="function">The Lua/MoonSharp function to be called</param>
<param name="args">The arguments to pass to the function.</param>
<returns>
The return value(s) of the function call.
</returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.Call(MoonSharp.Interpreter.DynValue,System.Object[])">
<summary>
Calls the specified function.
</summary>
<param name="function">The Lua/MoonSharp function to be called</param>
<param name="args">The arguments to pass to the function.</param>
<returns>
The return value(s) of the function call.
</returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.Call(System.Object)">
<summary>
Calls the specified function.
</summary>
<param name="function">The Lua/MoonSharp function to be called</param>
<returns></returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.Call(System.Object,System.Object[])">
<summary>
Calls the specified function.
</summary>
<param name="function">The Lua/MoonSharp function to be called </param>
<param name="args">The arguments to pass to the function.</param>
<returns></returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.CreateCoroutine(MoonSharp.Interpreter.DynValue)">
<summary>
Creates a coroutine pointing at the specified function.
</summary>
<param name="function">The function.</param>
<returns>
The coroutine handle.
</returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function or DataType.ClrFunction</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.CreateCoroutine(System.Object)">
<summary>
Creates a coroutine pointing at the specified function.
</summary>
<param name="function">The function.</param>
<returns>
The coroutine handle.
</returns>
<exception cref="T:System.ArgumentException">Thrown if function is not of DataType.Function or DataType.ClrFunction</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.GetMainChunk">
<summary>
Gets the main chunk function.
</summary>
<returns>A DynValue containing a function which executes the first chunk that has been loaded.</returns>
</member>
<member name="P:MoonSharp.Interpreter.Script.DebuggerEnabled">
<summary>
Gets or sets a value indicating whether the debugger is enabled.
Note that unless a debugger attached, this property returns a
value which might not reflect the real status of the debugger.
Use this property if you want to disable the debugger for some
executions.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Script.AttachDebugger(MoonSharp.Interpreter.Debugging.IDebugger)">
<summary>
Attaches a debugger. This usually should be called by the debugger itself and not by user code.
</summary>
<param name="debugger">The debugger object.</param>
</member>
<member name="M:MoonSharp.Interpreter.Script.GetSourceCode(System.Int32)">
<summary>
Gets the source code.
</summary>
<param name="sourceCodeID">The source code identifier.</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Script.SourceCodeCount">
<summary>
Gets the source code count.
</summary>
<value>
The source code count.
</value>
</member>
<member name="M:MoonSharp.Interpreter.Script.RequireModule(System.String,MoonSharp.Interpreter.Table)">
<summary>
Loads a module as per the "require" Lua function. http://www.lua.org/pil/8.1.html
</summary>
<param name="modname">The module name</param>
<param name="globalContext">The global context.</param>
<returns></returns>
<exception cref="T:MoonSharp.Interpreter.ScriptRuntimeException">Raised if module is not found</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.GetTypeMetatable(MoonSharp.Interpreter.DataType)">
<summary>
Gets a type metatable.
</summary>
<param name="type">The type.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.SetTypeMetatable(MoonSharp.Interpreter.DataType,MoonSharp.Interpreter.Table)">
<summary>
Sets a type metatable.
</summary>
<param name="type">The type. Must be Nil, Boolean, Number, String or Function</param>
<param name="metatable">The metatable.</param>
<exception cref="T:System.ArgumentException">Specified type not supported : + type.ToString()</exception>
</member>
<member name="M:MoonSharp.Interpreter.Script.WarmUp">
<summary>
Warms up the parser/lexer structures so that MoonSharp operations start faster.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Script.CreateDynamicExpression(System.String)">
<summary>
Creates a new dynamic expression.
</summary>
<param name="code">The code of the expression.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.CreateConstantDynamicExpression(System.String,MoonSharp.Interpreter.DynValue)">
<summary>
Creates a new dynamic expression which is actually quite static, returning always the same constant value.
</summary>
<param name="code">The code of the not-so-dynamic expression.</param>
<param name="constant">The constant to return.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Script.CreateDynamicExecutionContext(MoonSharp.Interpreter.CallbackFunction)">
<summary>
Gets an execution context exposing only partial functionality, which should be used for
those cases where the execution engine is not really running - for example for dynamic expression
or calls from CLR to CLR callbacks
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Script.Registry">
<summary>
MoonSharp (like Lua itself) provides a registry, a predefined table that can be used by any CLR code to
store whatever Lua values it needs to store.
Any CLR code can store data into this table, but it should take care to choose keys
that are different from those used by other libraries, to avoid collisions.
Typically, you should use as key a string GUID, a string containing your library name, or a
userdata with the address of a CLR object in your code.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Table">
<summary>
A class representing a Lua table.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Table.#ctor(MoonSharp.Interpreter.Script)">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Table"/> class.
</summary>
<param name="owner">The owner script.</param>
</member>
<member name="M:MoonSharp.Interpreter.Table.#ctor(MoonSharp.Interpreter.Script,MoonSharp.Interpreter.DynValue[])">
<summary>
Initializes a new instance of the <see cref="T:MoonSharp.Interpreter.Table"/> class.
</summary>
<param name="owner">The owner.</param>
<param name="arrayValues">The values for the "array-like" part of the table.</param>
</member>
<member name="P:MoonSharp.Interpreter.Table.OwnerScript">
<summary>
Gets the script owning this resource.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Table.Clear">
<summary>
Removes all items from the Table.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Table.GetIntegralKey(System.Double)">
<summary>
Gets the integral key from a double.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Table.Item(System.Object,System.Object[])">
<summary>
Gets or sets the
<see cref="T:System.Object" /> with the specified key(s).
This will marshall CLR and MoonSharp objects in the best possible way.
Multiple keys can be used to access subtables.
</summary>
<value>
The <see cref="T:System.Object" />.
</value>
<param name="key">The key.</param>
<param name="subkeys">Optional subkeys to access subtables</param>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Table.Item(System.Object)">
<summary>
Gets or sets the <see cref="T:System.Object"/> with the specified key(s).
This will marshall CLR and MoonSharp objects in the best possible way.
</summary>
<value>
The <see cref="T:System.Object"/>.
</value>
<param name="key">The key.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Table.GetWithObjectKey(System.Object)">
<summary>
Gets the dynvalue associated with the specified key (expressed as a System.Object)
</summary>
<param name="key">The key.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Table.GetAsObject(System.Object)">
<summary>
Gets the dynvalue associated with the specified key (expressed as a System.Object) as a System.Object.
</summary>
<param name="key">The key.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Table.SetAsObject(System.Object,System.Object)">
<summary>
Sets the dynvalue associated with the specified key. Both expressed as System.Object.
</summary>
<param name="key">The key.</param>
<param name="value">The value.</param>
</member>
<member name="M:MoonSharp.Interpreter.Table.Set(MoonSharp.Interpreter.DynValue,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value associated to the specified key.
</summary>
<param name="key">The key.</param>
<param name="value">The value.</param>
</member>
<member name="M:MoonSharp.Interpreter.Table.Get(MoonSharp.Interpreter.DynValue)">
<summary>
Gets the value associated with the specified key.
</summary>
<param name="key">The key.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Table.Set(System.String,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value associated to the specified key.
</summary>
<param name="key">The key.</param>
<param name="value">The value.</param>
</member>
<member name="M:MoonSharp.Interpreter.Table.Get(System.String)">
<summary>
Gets the value associated with the specified key.
</summary>
<param name="key">The key.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Table.RawGet(System.String)">
<summary>
Gets the value associated with the specified key, without bringing to Nil the non-existant values.
</summary>
<param name="key">The key.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Table.Set(System.Int32,MoonSharp.Interpreter.DynValue)">
<summary>
Sets the value associated to the specified key.
</summary>
<param name="key">The key.</param>
<param name="value">The value.</param>
</member>
<member name="M:MoonSharp.Interpreter.Table.Get(System.Int32)">
<summary>
Gets the value associated with the specified key.
</summary>
<param name="key">The key.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.Table.CollectDeadKeys">
<summary>
Collects the dead keys. This frees up memory but invalidates pending iterators.
It's called automatically internally when the semantics of Lua tables allow, but can be forced
externally if it's known that no iterators are pending.
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Table.NextKey(MoonSharp.Interpreter.DynValue)">
<summary>
Returns the next pair from a value
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Table.Length">
<summary>
Gets the length of the "array part".
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Table.MetaTable">
<summary>
Gets the meta-table associated with this instance.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.Table.Pairs">
<summary>
Enumerates the key/value pairs.
</summary>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Table.Keys">
<summary>
Enumerates the keys.
</summary>
<returns></returns>
</member>
<member name="P:MoonSharp.Interpreter.Table.Values">
<summary>
Enumerates the values
</summary>
<returns></returns>
</member>
<member name="T:MoonSharp.Interpreter.CoreModules">
<summary>
Enumeration (combinable as flags) of all the standard library modules
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.None">
<summary>
Value used to specify no modules to be loaded (equals 0).
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Basic">
<summary>
The basic methods. Includes "assert", "collectgarbage", "error", "print", "select", "type", "tonumber" and "tostring".
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.GlobalConsts">
<summary>
The global constants: "_G", "_VERSION" and "_MOONSHARP".
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.TableIterators">
<summary>
The table iterators: "next", "ipairs" and "pairs".
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Metatables">
<summary>
The metatable methods : "setmetatable", "getmetatable", "rawset", "rawget", "rawequal" and "rawlen".
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.String">
<summary>
The string package
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.LoadMethods">
<summary>
The load methods: "load", "loadsafe", "loadfile", "loadfilesafe", "dofile" and "require"
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Table">
<summary>
The table package
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.ErrorHandling">
<summary>
The error handling methods: "pcall" and "xpcall"
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Math">
<summary>
The math package
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Coroutine">
<summary>
The coroutine package
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Bit32">
<summary>
The bit32 package
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.OS_Time">
<summary>
The time methods of the "os" package: "clock", "difftime", "date" and "time"
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.OS_System">
<summary>
The methods of "os" package excluding those listed for OS_Time. These are not supported under Unity.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.IO">
<summary>
The methods of "io" and "file" packages. These are not supported under Unity.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Debug">
<summary>
The "debug" package (it has limited support)
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Dynamic">
<summary>
The "dynamic" package (introduced by MoonSharp).
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Preset_HardSandbox">
<summary>
A sort of "hard" sandbox preset, including string, math, table, bit32 packages, constants and table iterators.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Preset_SoftSandbox">
<summary>
A softer sandbox preset, adding metatables support, error handling, coroutine, time functions and dynamic evaluations.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Preset_Default">
<summary>
The default preset. Includes everything except "debug" as now.
Beware that using this preset allows scripts unlimited access to the system.
</summary>
</member>
<member name="F:MoonSharp.Interpreter.CoreModules.Preset_Complete">
<summary>
The complete package.
Beware that using this preset allows scripts unlimited access to the system.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.ModuleRegister">
<summary>
Class managing modules (mostly as extension methods)
</summary>
</member>
<member name="M:MoonSharp.Interpreter.ModuleRegister.RegisterCoreModules(MoonSharp.Interpreter.Table,MoonSharp.Interpreter.CoreModules)">
<summary>
Register the core modules to a table
</summary>
<param name="table">The table.</param>
<param name="modules">The modules.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.ModuleRegister.RegisterConstants(MoonSharp.Interpreter.Table)">
<summary>
Registers the standard constants (_G, _VERSION, _MOONSHARP) to a table
</summary>
<param name="table">The table.</param>
<returns></returns>
</member>
<member name="M:MoonSharp.Interpreter.ModuleRegister.RegisterModuleType(MoonSharp.Interpreter.Table,System.Type)">
<summary>
Registers a module type to the specified table
</summary>
<param name="gtable">The table.</param>
<param name="t">The type</param>
<returns></returns>
<exception cref="T:System.ArgumentException">If the module contains some incompatibility</exception>
</member>
<member name="M:MoonSharp.Interpreter.ModuleRegister.RegisterModuleType``1(MoonSharp.Interpreter.Table)">
<summary>
Registers a module type to the specified table
</summary>
<typeparam name="T">The module type</typeparam>
<param name="table">The table.</param>
<returns></returns>
<exception cref="T:System.ArgumentException">If the module contains some incompatibility</exception>
</member>
<member name="T:MoonSharp.Interpreter.MoonSharpModuleMethodAttribute">
<summary>
In a module type, mark methods or fields with this attribute to have them exposed as module functions.
Methods must have the signature "public static DynValue ...(ScriptExecutionContextCallbackArguments)".
Fields must be static or const strings, with an anonymous Lua function inside.
See <see cref="T:MoonSharp.Interpreter.MoonSharpModuleAttribute"/> for more information about modules.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.MoonSharpModuleMethodAttribute.Name">
<summary>
Gets or sets the name of the function in the module (defaults to member name)
</summary>
</member>
<member name="T:MoonSharp.Interpreter.MoonSharpModuleAttribute">
<summary>
Marks a CLR type to be a MoonSharp module.
Modules are the fastest way to bring interop between scripts and CLR code, albeit at the cost of a very increased
complexity in writing them. Modules is what's used for the standard library, for maximum efficiency.
Modules are basically classes containing only static methods, with the callback function signature.
See <see cref="T:MoonSharp.Interpreter.Table"/> and <see cref="T:MoonSharp.Interpreter.ModuleRegister"/> for (extension) methods used to register modules to a
table.
See <see cref="T:MoonSharp.Interpreter.CallbackFunction"/> for information regarding the standard callback signature along with easier ways
to marshal methods.
See <see cref="T:MoonSharp.Interpreter.UserData"/> for easier object marshalling.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.MoonSharpModuleAttribute.Namespace">
<summary>
Gets or sets the namespace, that is the name of the table which will contain the defined functions.
Can be null to be in the global table.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.ScriptGlobalOptions">
<summary>
Class containing script global options, that is options which cannot be customized per-script.
<see cref="P:MoonSharp.Interpreter.Script.GlobalOptions"/>
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptGlobalOptions.CustomConverters">
<summary>
Gets or sets the custom converters.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptGlobalOptions.Platform">
<summary>
Gets or sets the platform abstraction to use.
</summary>
<value>
The current platform abstraction.
</value>
</member>
<member name="T:MoonSharp.Interpreter.ScriptOptions">
<summary>
This class contains options to customize behaviour of Script objects.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.ScriptLoader">
<summary>
Gets or sets the current script-loader.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.DebugPrint">
<summary>
Gets or sets the debug print handler
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.DebugInput">
<summary>
Gets or sets the debug input handler (takes a prompt as an input, for interactive interpreters, like debug.debug).
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.UseLuaErrorLocations">
<summary>
Gets or sets a value indicating whether error messages will use Lua error locations instead of MoonSharp
improved ones. Use this for compatibility with legacy Lua code which parses error messages.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.Stdin">
<summary>
Gets or sets the stream used as stdin. If null, a default stream is used.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.Stdout">
<summary>
Gets or sets the stream used as stdout. If null, a default stream is used.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.Stderr">
<summary>
Gets or sets the stream used as stderr. If null, a default stream is used.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.TailCallOptimizationThreshold">
<summary>
Gets or sets the stack depth threshold at which MoonSharp starts doing
tail call optimizations.
TCOs can provide the little benefit of avoiding stack overflows in corner case
scenarios, at the expense of losing debug information and error stack traces
in all other, more common scenarios. MoonSharp choice is to start performing
TCOs only after a certain threshold of stack usage is reached - by default
half the current stack depth (128K entries), thus 64K entries, on either
the internal stacks.
Set this to int.MaxValue to disable TCOs entirely, or to 0 to always have
TCOs enabled.
</summary>
</member>
<member name="P:MoonSharp.Interpreter.ScriptOptions.CheckThreadAccess">
<summary>
Gets or sets a value indicating whether the thread check is enabled.
A "lazy" thread check is performed everytime execution is entered to ensure that no two threads
calls MoonSharp execution concurrently. However 1) the check is performed best effort (thus, it might
not detect all issues) and 2) it might trigger in very odd legal situations (like, switching threads
inside a CLR-callback without actually having concurrency.
Disable this option if the thread check is giving problems in your scenario, but please check that
you are not calling MoonSharp execution concurrently as it is not supported.
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Serialization.SerializationExtensions">
<summary>
</summary>
</member>
<member name="T:MoonSharp.Interpreter.Tree.Expressions.BinaryOperatorExpression">
<summary>
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Tree.Expressions.BinaryOperatorExpression.CreateSubTree(MoonSharp.Interpreter.Tree.Expressions.BinaryOperatorExpression.LinkedList,MoonSharp.Interpreter.Execution.ScriptLoadingContext)">
<summary>
Creates a sub tree of binary expressions
</summary>
</member>
<member name="M:MoonSharp.Interpreter.Tree.Expression.PrimaryExp(MoonSharp.Interpreter.Execution.ScriptLoadingContext)">
<summary>
Primaries the exp.
</summary>
<param name="lcontext">The lcontext.</param>
<returns></returns>
</member>
</members>
</doc>