From: Jean Privat Date: Sat, 17 Oct 2015 02:18:07 +0000 (-0400) Subject: astvalidation: add `ANode::validate` to simplify validation X-Git-Tag: v0.7.9~27^2~8 X-Git-Url: http://nitlanguage.org astvalidation: add `ANode::validate` to simplify validation Signed-off-by: Jean Privat --- diff --git a/src/astvalidation.nit b/src/astvalidation.nit index 2883197..183b4b2 100644 --- a/src/astvalidation.nit +++ b/src/astvalidation.nit @@ -29,6 +29,18 @@ class ASTValidationVisitor end redef class ANode + # Recursively validate a AST node. + # This ensure that location and parenting are defined and coherent. + # + # After complex low-level AST manipulation and construction, + # it is recommended to call it. + # + # Note: this just instantiate and run an `ASTValidationVisitor`. + fun validate + do + (new ASTValidationVisitor).enter_visit(self) + end + private fun accept_ast_validation(v: ASTValidationVisitor) do var parent = self.parent