aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nomsu_tree.moon5
1 files changed, 5 insertions, 0 deletions
diff --git a/nomsu_tree.moon b/nomsu_tree.moon
index 9df240a..885892f 100644
--- a/nomsu_tree.moon
+++ b/nomsu_tree.moon
@@ -40,6 +40,11 @@ for name in *types
replacement = (@__class)(@source, unpack(replacements))
replacement.comments = [c for c in *@comments] if @comments
return replacement
+ .__eq = (other)=>
+ return false if type(@) != type(other) or #@ != #other or getmetatable(@) != getmetatable(other)
+ for i=1,#@
+ return false if @[i] != other[i]
+ return true
AST[name] = setmetatable cls,
__tostring: => @name