Skip to content

Commit 399c474

Browse files
author
junlong.lin
committed
解决 local变量超过200个的问题
1 parent 70e479a commit 399c474

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

LuaProfiler/Tools/InjectLua/InjectLua/Parse/LLex.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,11 @@ public string code
238238
if (operateDict.TryGetValue(Str.Length, out op))
239239
{
240240
sbCache.Append(op.value);
241+
if (op.sibling != null)
242+
{
243+
op = op.sibling;
244+
sbCache.Append(op.value);
245+
}
241246
}
242247

243248
string result = sbCache.ToString();

LuaProfiler/Tools/InjectLua/InjectLua/Parse/Parse.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,14 @@ public static class Parse
4242
{
4343
public static readonly string LOCAL_PROFILER =
4444
"local BeginMikuSample = MikuLuaProfiler.LuaProfiler.BeginSample "
45-
+ "local EndMikuSample = MikuLuaProfiler.LuaProfiler.EndSample " + "local miku_unpack_return_value = miku_unpack_return_value ";
45+
+ "local EndMikuSample = MikuLuaProfiler.LuaProfiler.EndSample " + "local miku_unpack_return_value = miku_unpack_return_value local MikuMainChunkFun = function(...) ";
4646
#region parse
4747
public static string InsertSample(string value, string name)
4848
{
4949
LLex l = new LLex(new StringLoadInfo(value), name);
5050
string sampleStr = string.Format("{0}BeginMikuSample(\"[lua]:require {1},{1}&line:1\")", LOCAL_PROFILER, name);
5151
l.InsertString(0, sampleStr);
52+
5253
int lastPos = 0;
5354
int nextPos = l.pos;
5455
l.Next();
@@ -58,6 +59,7 @@ public static string InsertSample(string value, string name)
5859
nextPos = l.pos;
5960

6061
InsertSample(l, ref lastPos, ref nextPos, tokenType, false);
62+
l.InsertString(l.Length, "\n end return MikuMainChunkFun(...)");
6163

6264
return l.code;
6365
}

LuaProfiler/example/Assets/LuaProfiler/Core/Driver/Parse/LLex.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,11 @@ public string code
238238
if (operateDict.TryGetValue(Str.Length, out op))
239239
{
240240
sbCache.Append(op.value);
241+
if (op.sibling != null)
242+
{
243+
op = op.sibling;
244+
sbCache.Append(op.value);
245+
}
241246
}
242247

243248
string result = sbCache.ToString();

LuaProfiler/example/Assets/LuaProfiler/Core/Driver/Parse/Parse.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,14 @@ public static class Parse
4242
{
4343
public static readonly string LOCAL_PROFILER =
4444
"local BeginMikuSample = MikuLuaProfiler.LuaProfiler.BeginSample "
45-
+ "local EndMikuSample = MikuLuaProfiler.LuaProfiler.EndSample " + "local miku_unpack_return_value = miku_unpack_return_value ";
45+
+ "local EndMikuSample = MikuLuaProfiler.LuaProfiler.EndSample " + "local miku_unpack_return_value = miku_unpack_return_value local MikuMainChunkFun = function(...) ";
4646
#region parse
4747
public static string InsertSample(string value, string name)
4848
{
4949
LLex l = new LLex(new StringLoadInfo(value), name);
5050
string sampleStr = string.Format("{0}BeginMikuSample(\"[lua]:require {1},{1}&line:1\")", LOCAL_PROFILER, name);
5151
l.InsertString(0, sampleStr);
52+
5253
int lastPos = 0;
5354
int nextPos = l.pos;
5455
l.Next();
@@ -58,6 +59,7 @@ public static string InsertSample(string value, string name)
5859
nextPos = l.pos;
5960

6061
InsertSample(l, ref lastPos, ref nextPos, tokenType, false);
62+
l.InsertString(l.Length, "\n end return MikuMainChunkFun(...)");
6163

6264
return l.code;
6365
}

0 commit comments

Comments
 (0)