浏览代码

detect HL local functions in stack traces

ncannasse 7 年之前
父节点
当前提交
d72491afef
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      std/haxe/CallStack.hx

+ 3 - 0
std/haxe/CallStack.hx

@@ -367,10 +367,13 @@ class CallStack {
 		#elseif hl
 			var stack = [];
 			var r = ~/^([A-Za-z0-9.$_]+)\.([A-Za-z0-9_]+)\((.+):([0-9]+)\)$/;
+			var r_fun = ~/^fun\$([0-9]+)\((.+):([0-9]+)\)$/;
 			for( i in 0...s.length-1 ) {
 				var str = @:privateAccess String.fromUCS2(s[i]);
 				if( r.match(str) )
 					stack.push(FilePos(Method(r.matched(1), r.matched(2)), r.matched(3), Std.parseInt(r.matched(4))));
+				else if( r_fun.match(str) )
+					stack.push(FilePos(LocalFunction(Std.parseInt(r_fun.matched(1))), r_fun.matched(2), Std.parseInt(r_fun.matched(3))));
 				else
 					stack.push(Module(str));
 			}