From: Fabien Fleutot Date: Sun, 27 Jan 2008 19:56:29 +0000 (+0100) Subject: better error msg when walking malformed trees X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=90686ecb84715fcbfb493d2b979016f2713ea5ab;p=metalua.git better error msg when walking malformed trees --- diff --git a/src/lib/walk.mlua b/src/lib/walk.mlua index ae66ef8..9f9e09e 100644 --- a/src/lib/walk.mlua +++ b/src/lib/walk.mlua @@ -181,6 +181,8 @@ function walk.traverse.stat (cfg, x, ...) if #x%2 == 1 then B(x[#x]) end | `Call{...}|`Invoke{...}|`Return{...} -> EL(x) | `Break | `Goto{ _ } | `Label{ _ } -> -- nothing + | {...} if walk.tags.stat[x.tag]-> + printf("Warning: walk: malformed %s stat node: %s", x.tag, table.tostring(x,80)) | {...} -> print("Warning: walk: unknown stat node: "..table.tostring(x,80)) | _ -> print("Warning: walk: unexpected stat node of type "..type(x) ..": "..table.tostring(x,80)) @@ -208,6 +210,8 @@ function walk.traverse.expr (cfg, x, ...) | v -> E(v) end end |`Nil|`Dots|`True|`False|`Number{_}|`String{_}|`Id{_} -> -- nothing + | {...} if walk.tags.expr[x.tag]-> + printf("Warning: walk: malformed %s expr node: %s", x.tag, table.tostring(x,80)) | {...} -> print("Warning: walk: unknown expr node: "..table.tostring(x,80)) | _ -> print("Warning: walk: unexpected expr node of type "..type(x) ..": "..table.tostring(x,80))