Table of Contents

Struct LuaState

Namespace
LuauInterop.Native
Assembly
LuauInterop.Native.dll

Represents a Lua state. This is a thin wrapper around the native lua_State pointer.

public readonly struct LuaState
Inherited Members

Constructors

LuaState(nint)

Represents a Lua state. This is a thin wrapper around the native lua_State pointer.

public LuaState(nint handle)

Parameters

handle nint

Fields

Handle

public readonly nint Handle

Field Value

nint

Properties

IsNull

public bool IsNull { get; }

Property Value

bool

Methods

AbsIndex(int)

public int AbsIndex(int idx)

Parameters

idx int

Returns

int

Break()

public int Break()

Returns

int

Breakpoint(int, int, bool)

public int Breakpoint(int funcindex, int line, bool enabled)

Parameters

funcindex int
line int
enabled bool

Returns

int

CPCall(nint, nint)

public int CPCall(nint func, nint ud)

Parameters

func nint
ud nint

Returns

int

Call(int, int)

public void Call(int nargs, int nresults)

Parameters

nargs int
nresults int

CheckStack(int)

public int CheckStack(int sz)

Parameters

sz int

Returns

int

ClearTable(int)

public void ClearTable(int idx)

Parameters

idx int

CloneFunction(int)

public void CloneFunction(int idx)

Parameters

idx int

CloneTable(int)

public void CloneTable(int idx)

Parameters

idx int

Close()

public void Close()

CoStatus(LuaState)

public int CoStatus(LuaState co)

Parameters

co LuaState

Returns

int

Concat(int)

public void Concat(int n)

Parameters

n int

CreateTable(int, int)

public void CreateTable(int narr, int nrec)

Parameters

narr int
nrec int

DebugTrace()

public nint DebugTrace()

Returns

nint

EncodePointer(nuint)

public nuint EncodePointer(nuint p)

Parameters

p nuint

Returns

nuint

Equal(int, int)

public bool Equal(int idx1, int idx2)

Parameters

idx1 int
idx2 int

Returns

bool

Error()

public void Error()

GC(int, int)

public int GC(int what, int data)

Parameters

what int
data int

Returns

int

GetAllocF(out nint)

public nint GetAllocF(out nint ud)

Parameters

ud nint

Returns

nint

GetArgument(int, int)

public int GetArgument(int level, int n)

Parameters

level int
n int

Returns

int

GetCounters(int, nint, nint, nint)

public void GetCounters(int funcindex, nint context, nint functionvisit, nint countervisit)

Parameters

funcindex int
context nint
functionvisit nint
countervisit nint

GetCoverage(int, nint, nint)

public void GetCoverage(int funcindex, nint context, nint callback)

Parameters

funcindex int
context nint
callback nint

GetFenv(int)

public void GetFenv(int idx)

Parameters

idx int

GetField(int, string)

public int GetField(int idx, string k)

Parameters

idx int
k string

Returns

int

GetGlobal(string)

public int GetGlobal(string name)

Parameters

name string

Returns

int

GetInfo(int, string, nint)

public int GetInfo(int level, string what, nint ar)

Parameters

level int
what string
ar nint

Returns

int

GetLightUserdataName(int)

public nint GetLightUserdataName(int tag)

Parameters

tag int

Returns

nint

GetLocal(int, int)

public nint GetLocal(int level, int n)

Parameters

level int
n int

Returns

nint

GetMetatable(int)

public int GetMetatable(int objindex)

Parameters

objindex int

Returns

int

GetReadonly(int)

public bool GetReadonly(int idx)

Parameters

idx int

Returns

bool

GetTable(int)

public int GetTable(int idx)

Parameters

idx int

Returns

int

GetThreadData()

public nint GetThreadData()

Returns

nint

GetTop()

public int GetTop()

Returns

int

GetUpvalue(int, int)

public nint GetUpvalue(int funcindex, int n)

Parameters

funcindex int
n int

Returns

nint

GetUserdataDtor(int)

public nint GetUserdataDtor(int tag)

Parameters

tag int

Returns

nint

GetUserdataMetatable(int)

public void GetUserdataMetatable(int tag)

Parameters

tag int

Insert(int)

public void Insert(int idx)

Parameters

idx int

IsCFunction(int)

public bool IsCFunction(int idx)

Parameters

idx int

Returns

bool

IsLFunction(int)

public bool IsLFunction(int idx)

Parameters

idx int

Returns

bool

IsNumber(int)

public bool IsNumber(int idx)

Parameters

idx int

Returns

bool

IsString(int)

public bool IsString(int idx)

Parameters

idx int

Returns

bool

IsThreadReset()

public bool IsThreadReset()

Returns

bool

IsUserdata(int)

public bool IsUserdata(int idx)

Parameters

idx int

Returns

bool

IsYieldable()

public bool IsYieldable()

Returns

bool

LessThan(int, int)

public bool LessThan(int idx1, int idx2)

Parameters

idx1 int
idx2 int

Returns

bool

LightUserdataTag(int)

public int LightUserdataTag(int idx)

Parameters

idx int

Returns

int

Load(string, nint, nuint, int)

public int Load(string chunkname, nint data, nuint size, int env)

Parameters

chunkname string
data nint
size nuint
env int

Returns

int

MainThread()

public LuaState MainThread()

Returns

LuaState

NameCallAtom(out int)

public nint NameCallAtom(out int atom)

Parameters

atom int

Returns

nint

NewBuffer(nuint)

public nint NewBuffer(nuint sz)

Parameters

sz nuint

Returns

nint

NewThread()

public LuaState NewThread()

Returns

LuaState

NewUserdataDtor(nuint, nint)

public nint NewUserdataDtor(nuint sz, nint dtor)

Parameters

sz nuint
dtor nint

Returns

nint

NewUserdataTagged(nuint, int)

public nint NewUserdataTagged(nuint sz, int tag)

Parameters

sz nuint
tag int

Returns

nint

NewUserdataTaggedWithMetatable(nuint, int)

public nint NewUserdataTaggedWithMetatable(nuint sz, int tag)

Parameters

sz nuint
tag int

Returns

nint

Next(int)

public int Next(int idx)

Parameters

idx int

Returns

int

ObjLen(int)

public int ObjLen(int idx)

Parameters

idx int

Returns

int

OpenBase()

public int OpenBase()

Returns

int

OpenBit32()

public int OpenBit32()

Returns

int

OpenBuffer()

public int OpenBuffer()

Returns

int

OpenCoroutine()

public int OpenCoroutine()

Returns

int

OpenDebug()

public int OpenDebug()

Returns

int

OpenInteger()

public int OpenInteger()

Returns

int

OpenLibraries()

public void OpenLibraries()

OpenMath()

public int OpenMath()

Returns

int

OpenOS()

public int OpenOS()

Returns

int

OpenString()

public int OpenString()

Returns

int

OpenTable()

public int OpenTable()

Returns

int

OpenUtf8()

public int OpenUtf8()

Returns

int

OpenVector()

public int OpenVector()

Returns

int

PCall(int, int, int)

public int PCall(int nargs, int nresults, int errfunc)

Parameters

nargs int
nresults int
errfunc int

Returns

int

PushBoolean(bool)

public void PushBoolean(bool b)

Parameters

b bool

PushCClosureK(nint, string, int, nint)

public void PushCClosureK(nint fn, string debugname, int nup, nint cont)

Parameters

fn nint
debugname string
nup int
cont nint

PushInteger(int)

public void PushInteger(int n)

Parameters

n int

PushInteger64(long)

public void PushInteger64(long n)

Parameters

n long

PushLString(string, nuint)

public void PushLString(string s, nuint l)

Parameters

s string
l nuint

PushLightUserdataTagged(nint, int)

public void PushLightUserdataTagged(nint p, int tag)

Parameters

p nint
tag int

PushNil()

public void PushNil()

PushNumber(double)

public void PushNumber(double n)

Parameters

n double

PushString(string)

public void PushString(string s)

Parameters

s string

PushThread()

public int PushThread()

Returns

int

PushUnsigned(uint)

public void PushUnsigned(uint n)

Parameters

n uint

PushVFString(string, nint)

public nint PushVFString(string fmt, nint argp)

Parameters

fmt string
argp nint

Returns

nint

PushValue(int)

public void PushValue(int idx)

Parameters

idx int

PushVector(float, float, float)

public void PushVector(float x, float y, float z)

Parameters

x float
y float
z float

RawCheckStack(int, string?)

public void RawCheckStack(int extra, string? message = null)

Parameters

extra int
message string

RawEqual(int, int)

public bool RawEqual(int idx1, int idx2)

Parameters

idx1 int
idx2 int

Returns

bool

RawGet(int)

public int RawGet(int idx)

Parameters

idx int

Returns

int

RawGetField(int, string)

public int RawGetField(int idx, string k)

Parameters

idx int
k string

Returns

int

RawGetI(int, int)

public int RawGetI(int idx, int n)

Parameters

idx int
n int

Returns

int

RawGetPTagged(int, nint, int)

public int RawGetPTagged(int idx, nint p, int tag)

Parameters

idx int
p nint
tag int

Returns

int

RawIter(int, int)

public int RawIter(int idx, int iter)

Parameters

idx int
iter int

Returns

int

RawSet(int)

public void RawSet(int idx)

Parameters

idx int

RawSetField(int, string)

public void RawSetField(int idx, string k)

Parameters

idx int
k string

RawSetI(int, int)

public void RawSetI(int idx, int n)

Parameters

idx int
n int

RawSetPTagged(int, nint, int)

public void RawSetPTagged(int idx, nint p, int tag)

Parameters

idx int
p nint
tag int

Ref(int)

public int Ref(int idx)

Parameters

idx int

Returns

int

RegisterUserdataDirectAccess(int, nint, nint, nint)

public int RegisterUserdataDirectAccess(int tag, nint get, nint set, nint namecall)

Parameters

tag int
get nint
set nint
namecall nint

Returns

int

RegisterUserdataDirectFieldGet(int, string, nint)

public void RegisterUserdataDirectFieldGet(int tag, string field, nint fn)

Parameters

tag int
field string
fn nint

Remove(int)

public void Remove(int idx)

Parameters

idx int

Replace(int)

public void Replace(int idx)

Parameters

idx int

ResetThread()

public void ResetThread()

Resume(LuaState, int)

public int Resume(LuaState from, int narg)

Parameters

from LuaState
narg int

Returns

int

ResumeError(LuaState)

public int ResumeError(LuaState from)

Parameters

from LuaState

Returns

int

Sandbox()

public void Sandbox()

SandboxThread()

public void SandboxThread()

SetFenv(int)

public int SetFenv(int idx)

Parameters

idx int

Returns

int

SetField(int, string)

public void SetField(int idx, string k)

Parameters

idx int
k string

SetGlobal(string)

public void SetGlobal(string name)

Parameters

name string

SetLightUserdataName(int, string)

public void SetLightUserdataName(int tag, string name)

Parameters

tag int
name string

SetLocal(int, int)

public nint SetLocal(int level, int n)

Parameters

level int
n int

Returns

nint

SetMemCat(int)

public void SetMemCat(int category)

Parameters

category int

SetMetatable(int)

public int SetMetatable(int objindex)

Parameters

objindex int

Returns

int

SetReadonly(int, bool)

public void SetReadonly(int idx, bool enabled)

Parameters

idx int
enabled bool

SetSafeEnv(int, bool)

public void SetSafeEnv(int idx, bool enabled)

Parameters

idx int
enabled bool

SetTable(int)

public void SetTable(int idx)

Parameters

idx int

SetThreadData(nint)

public void SetThreadData(nint data)

Parameters

data nint

SetTop(int)

public void SetTop(int idx)

Parameters

idx int

SetUpvalue(int, int)

public nint SetUpvalue(int funcindex, int n)

Parameters

funcindex int
n int

Returns

nint

SetUserdataDtor(int, nint)

public void SetUserdataDtor(int tag, nint dtor)

Parameters

tag int
dtor nint

SetUserdataMetatable(int)

public void SetUserdataMetatable(int tag)

Parameters

tag int

SetUserdataTag(int, int)

public void SetUserdataTag(int idx, int tag)

Parameters

idx int
tag int

SingleStep(bool)

public void SingleStep(bool enabled)

Parameters

enabled bool

StackDepth()

public int StackDepth()

Returns

int

Status()

public int Status()

Returns

int

ToBoolean(int)

public bool ToBoolean(int idx)

Parameters

idx int

Returns

bool

ToBuffer(int, out nuint)

public nint ToBuffer(int idx, out nuint len)

Parameters

idx int
len nuint

Returns

nint

ToCFunction(int)

public nint ToCFunction(int idx)

Parameters

idx int

Returns

nint

ToInteger64(int, out bool)

public long ToInteger64(int idx, out bool isinteger)

Parameters

idx int
isinteger bool

Returns

long

ToIntegerX(int, out bool)

public int ToIntegerX(int idx, out bool isnum)

Parameters

idx int
isnum bool

Returns

int

ToLString(int, out nuint)

public nint ToLString(int idx, out nuint len)

Parameters

idx int
len nuint

Returns

nint

ToLStringAtom(int, out nuint, out int)

public nint ToLStringAtom(int idx, out nuint len, out int atom)

Parameters

idx int
len nuint
atom int

Returns

nint

ToLightUserdata(int)

public nint ToLightUserdata(int idx)

Parameters

idx int

Returns

nint

ToLightUserdataTagged(int, int)

public nint ToLightUserdataTagged(int idx, int tag)

Parameters

idx int
tag int

Returns

nint

ToNumber(int)

public double ToNumber(int idx)

Parameters

idx int

Returns

double

ToNumberX(int, out bool)

public double ToNumberX(int idx, out bool isnum)

Parameters

idx int
isnum bool

Returns

double

ToPointer(int)

public nint ToPointer(int idx)

Parameters

idx int

Returns

nint

ToStringAtom(int, out int)

public nint ToStringAtom(int idx, out int atom)

Parameters

idx int
atom int

Returns

nint

ToThread(int)

public LuaState ToThread(int idx)

Parameters

idx int

Returns

LuaState

ToUnsignedX(int, out bool)

public uint ToUnsignedX(int idx, out bool isnum)

Parameters

idx int
isnum bool

Returns

uint

ToUserdata(int)

public nint ToUserdata(int idx)

Parameters

idx int

Returns

nint

ToUserdataTagged(int, int)

public nint ToUserdataTagged(int idx, int tag)

Parameters

idx int
tag int

Returns

nint

ToVector(int)

public nint ToVector(int idx)

Parameters

idx int

Returns

nint

TotalBytes(int)

public nuint TotalBytes(int category)

Parameters

category int

Returns

nuint

Type(int)

public int Type(int idx)

Parameters

idx int

Returns

int

TypeName(int)

public nint TypeName(int tp)

Parameters

tp int

Returns

nint

Unref(int)

public void Unref(int refid)

Parameters

refid int

UserdataTag(int)

public int UserdataTag(int idx)

Parameters

idx int

Returns

int

XMove(LuaState, int)

public void XMove(LuaState to, int n)

Parameters

to LuaState
n int

XPush(LuaState, int)

public void XPush(LuaState to, int idx)

Parameters

to LuaState
idx int

Yield(int)

public int Yield(int nresults)

Parameters

nresults int

Returns

int

Operators

implicit operator nint(LuaState)

public static implicit operator nint(LuaState state)

Parameters

state LuaState

Returns

nint

implicit operator LuaState(nint)

public static implicit operator LuaState(nint handle)

Parameters

handle nint

Returns

LuaState