scansion.error: Add __name and is() for identifying scansion errors

Mon, 10 Sep 2018 09:52:08 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Mon, 10 Sep 2018 09:52:08 +0100
changeset 104
fb915f3a9c89
parent 103
9e0e56393978
child 105
da98bb33cee6

scansion.error: Add __name and is() for identifying scansion errors

scansion/error.lua file | annotate | diff | comparison | revisions
--- a/scansion/error.lua	Mon Sep 10 09:51:01 2018 +0100
+++ b/scansion/error.lua	Mon Sep 10 09:52:08 2018 +0100
@@ -2,10 +2,14 @@
 	__tostring = function (e)
 		return tostring(e.message or ("<Scansion error: "..tostring(self)..">"));
 	end;
+	__name = "scansion error";
 };
 
 return {
 	new_error = function (message, data)
 		return setmetatable({ message = message, data = data }, error_mt);
 	end;
+	is = function (err)
+		return getmetatable(err) == error_mt;
+	end;
 };

mercurial