MCPcopy Create free account
hub / github.com/Tencent/UnLua / ScriptStruct_Delete

Function ScriptStruct_Delete

Plugins/UnLua/Source/UnLua/Private/LuaCore.cpp:1673–1697  ·  view source on GitHub ↗

* Generic GC function for UScriptStruct */

Source from the content-addressed store, hash-verified

1671 * Generic GC function for UScriptStruct
1672 */
1673int32 ScriptStruct_Delete(lua_State *L)
1674{
1675 FClassDesc *ClassDesc = ScriptStruct_CheckParam(L);
1676 if (!ClassDesc)
1677 {
1678 return 0;
1679 }
1680
1681 UScriptStruct *ScriptStruct = ClassDesc->AsScriptStruct();
1682
1683 bool bTwoLvlPtr = false;
1684 void * Userdata = GetUserdataFast(L, 1, &bTwoLvlPtr);
1685 if (Userdata)
1686 {
1687 //struct in userdata memory
1688 if (!bTwoLvlPtr)
1689 {
1690 if (!(ScriptStruct->StructFlags & (STRUCT_IsPlainOldData | STRUCT_NoDestructor)))
1691 {
1692 ScriptStruct->DestroyStruct(Userdata);
1693 }
1694 }
1695 }
1696 return 0;
1697}
1698
1699/**
1700 * Generic closure to copy a UScriptStruct

Callers

nothing calls this directly

Calls 3

ScriptStruct_CheckParamFunction · 0.85
GetUserdataFastFunction · 0.85
AsScriptStructMethod · 0.80

Tested by

no test coverage detected