From 4fdd1ceaf977b9baf6aa0cb0627cb85aff7f6138 Mon Sep 17 00:00:00 2001 From: Florian Deljarry Date: Fri, 10 Apr 2020 10:20:18 -0400 Subject: [PATCH] typing: Add `do_typing` on AExpr Add a way to type `AExpr`. Signed-off-by: Florian Deljarry --- src/semantize/typing.nit | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/semantize/typing.nit b/src/semantize/typing.nit index 5d6b5da..7c530c1 100644 --- a/src/semantize/typing.nit +++ b/src/semantize/typing.nit @@ -1032,6 +1032,18 @@ redef class AExpr end return res end + + # Type the expression as if located in `visited_mpropdef` + # `TypeVisitor` and `PostTypingVisitor` will be used to do the typing, see them for more information. + # + # `visited_mpropdef`: Correspond to the evaluation context in which the expression is located. + fun do_typing(modelbuilder: ModelBuilder, visited_mpropdef: MPropDef) + do + var type_visitor = new TypeVisitor(modelbuilder, visited_mpropdef) + type_visitor.visit_stmt(self) + var post_visitor = new PostTypingVisitor(type_visitor) + post_visitor.enter_visit(self) + end end redef class ABlockExpr -- 1.7.9.5