From a435fdcf407c6d8775bb8be1bb94515867848426 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Fri, 16 Oct 2015 22:18:07 -0400 Subject: [PATCH] astvalidation: add `ANode::validate` to simplify validation Signed-off-by: Jean Privat --- src/astvalidation.nit | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 -- 1.7.9.5