aboutsummaryrefslogtreecommitdiff
path: root/src/MoonP/stacktraceplus.h
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2020-03-21 12:13:30 +0800
committerLi Jin <dragon-fly@qq.com>2020-03-21 12:13:30 +0800
commit3bb3036f12247bd87afdf81dfef7e695c8fe3528 (patch)
tree1f60cbc5301b71ac9bf0b2faebf2b2364205187b /src/MoonP/stacktraceplus.h
parentd0adaf086d91f600f497c6e267a3623f3cb9012e (diff)
downloadyuescript-3bb3036f12247bd87afdf81dfef7e695c8fe3528.tar.gz
yuescript-3bb3036f12247bd87afdf81dfef7e695c8fe3528.tar.bz2
yuescript-3bb3036f12247bd87afdf81dfef7e695c8fe3528.zip
clean up.
Diffstat (limited to '')
-rw-r--r--src/MoonP/stacktraceplus.h44
1 files changed, 7 insertions, 37 deletions
diff --git a/src/MoonP/stacktraceplus.h b/src/MoonP/stacktraceplus.h
index a309578..fcd887a 100644
--- a/src/MoonP/stacktraceplus.h
+++ b/src/MoonP/stacktraceplus.h
@@ -358,7 +358,7 @@ end
358-- @param message An optional error string or object. 358-- @param message An optional error string or object.
359-- @param level An optional number telling at which level to start the traceback (default is 1) 359-- @param level An optional number telling at which level to start the traceback (default is 1)
360-- 360--
361-- Returns a string with the stack trace and a string with the original error. 361-- Returns a string with the stack trace.
362-- 362--
363function _M.stacktrace(thread, message, level) 363function _M.stacktrace(thread, message, level)
364 if type(thread) ~= "thread" then 364 if type(thread) ~= "thread" then
@@ -389,26 +389,16 @@ function _M.stacktrace(thread, message, level)
389 dumper:add("\r\n}") 389 dumper:add("\r\n}")
390 elseif type(message) == "string" then 390 elseif type(message) == "string" then
391 local fname, line, msg = message:match('(.+):(%d+): (.*)$') 391 local fname, line, msg = message:match('(.+):(%d+): (.*)$')
392 local nfname, nline, nmsg = fname:match('(.+):(%d+): (.*)$') 392 if fname then
393 if nfname then 393 local nfname, nline, nmsg = fname:match('(.+):(%d+): (.*)$')
394 fname = nmsg 394 if nfname then
395 fname = nmsg
396 end
395 end 397 end
396 if fname then 398 if fname then
397 fname = fname:gsub("%[string \"", "") 399 fname = fname:gsub("%[string \"", "")
398 fname = fname:gsub("\"%]", "") 400 fname = fname:gsub("\"%]", "")
399 fname = fname:gsub("^%s*(.-)%s*$", "%1") 401 fname = fname:gsub("^%s*(.-)%s*$", "%1")
400 local extension = fname:match("%.([^%.\\/]*)$")
401 if not extension then
402 local fext = fname .. ".lua"
403 if moonp.file_exist(fext) then
404 fname = fext
405 else
406 fext = fname .. ".moon"
407 if moonp.file_exist(fext) then
408 fname = fext
409 end
410 end
411 end
412 fname, line = getMoonLineNumber(fname, line) 402 fname, line = getMoonLineNumber(fname, line)
413 if _M.simplified then 403 if _M.simplified then
414 message = table.concat({ 404 message = table.concat({
@@ -425,13 +415,6 @@ function _M.stacktrace(thread, message, level)
425 dumper:add(message) 415 dumper:add(message)
426 end 416 end
427 417
428 local moonp = require("moonp")
429 if moonp._hide_stacktrace_ then
430 local msg = dumper:concat_lines()
431 moonp._hide_stacktrace_ = nil
432 return message
433 end
434
435 dumper:add("\r\n") 418 dumper:add("\r\n")
436 dumper:add[[ 419 dumper:add[[
437Stack Traceback 420Stack Traceback
@@ -448,20 +431,7 @@ Stack Traceback
448 elseif info.what == "main" or info.what == "Lua" then 431 elseif info.what == "main" or info.what == "Lua" then
449 info.source = info.source 432 info.source = info.source
450 end 433 end
451 local fname = info.source 434 info.source, info.currentline = getMoonLineNumber(info.source, info.currentline)
452 local extension = fname:match("%.([^%.\\/]*)$")
453 if not extension then
454 local fext = fname .. ".lua"
455 if moonp.file_exist(fext) then
456 fname = fext
457 else
458 fext = fname .. ".moon"
459 if moonp.file_exist(fext) then
460 fname = fext
461 end
462 end
463 end
464 info.source, info.currentline = getMoonLineNumber(fname, info.currentline)
465 if info.what == "main" then 435 if info.what == "main" then
466 if _M.simplified then 436 if _M.simplified then
467 dumper:add_f("(%d) '%s':%d\r\n", level_to_show, info.source, info.currentline) 437 dumper:add_f("(%d) '%s':%d\r\n", level_to_show, info.source, info.currentline)