Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
东方怂天
xLua
提交
cab4d1e4
X
xLua
项目概览
东方怂天
/
xLua
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
xLua
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
cab4d1e4
编写于
4月 29, 2019
作者:
J
johnche
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
反射wrap代码加入栈空间检查
上级
96468b71
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
4 deletion
+10
-4
Assets/XLua/Src/Utils.cs
Assets/XLua/Src/Utils.cs
+10
-4
未找到文件。
Assets/XLua/Src/Utils.cs
浏览文件 @
cab4d1e4
...
...
@@ -407,7 +407,9 @@ namespace XLua
FieldInfo
[]
fields
=
type
.
GetFields
(
flag
);
EventInfo
[]
all_events
=
type
.
GetEvents
(
flag
|
BindingFlags
.
Public
|
BindingFlags
.
NonPublic
);
for
(
int
i
=
0
;
i
<
fields
.
Length
;
++
i
)
LuaAPI
.
lua_checkstack
(
L
,
2
);
for
(
int
i
=
0
;
i
<
fields
.
Length
;
++
i
)
{
FieldInfo
field
=
fields
[
i
];
string
fieldName
=
field
.
Name
;
...
...
@@ -604,7 +606,9 @@ namespace XLua
public
static
void
MakePrivateAccessible
(
RealStatePtr
L
,
Type
type
)
{
int
oldTop
=
LuaAPI
.
lua_gettop
(
L
);
LuaAPI
.
lua_checkstack
(
L
,
20
);
int
oldTop
=
LuaAPI
.
lua_gettop
(
L
);
LuaAPI
.
luaL_getmetatable
(
L
,
type
.
FullName
);
if
(
LuaAPI
.
lua_isnil
(
L
,
-
1
))
...
...
@@ -808,7 +812,9 @@ namespace XLua
public
static
void
ReflectionWrap
(
RealStatePtr
L
,
Type
type
,
bool
privateAccessible
)
{
int
top_enter
=
LuaAPI
.
lua_gettop
(
L
);
LuaAPI
.
lua_checkstack
(
L
,
20
);
int
top_enter
=
LuaAPI
.
lua_gettop
(
L
);
ObjectTranslator
translator
=
ObjectTranslatorPool
.
Instance
.
Find
(
L
);
//create obj meta table
LuaAPI
.
luaL_getmetatable
(
L
,
type
.
FullName
);
...
...
@@ -841,7 +847,7 @@ namespace XLua
LuaAPI
.
lua_newtable
(
L
);
int
cls_setter
=
LuaAPI
.
lua_gettop
(
L
);
LuaCSFunction
item_getter
;
LuaCSFunction
item_getter
;
LuaCSFunction
item_setter
;
makeReflectionWrap
(
L
,
type
,
cls_field
,
cls_getter
,
cls_setter
,
obj_field
,
obj_getter
,
obj_setter
,
obj_meta
,
out
item_getter
,
out
item_setter
,
privateAccessible
?
(
BindingFlags
.
Public
|
BindingFlags
.
NonPublic
)
:
BindingFlags
.
Public
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录