public override void ExitLetIn([NotNull] LetInContext context) { base.ExitLetIn(context); Log("ExitLetIn"); if (phase == Phase.Building) { symbolTableCreator.ExitLetIn(context); } else { symbolTableTraverser.ExitLetIn(context); semanticErrorChecker.ExitLetIn(context); } }
public override ASTN VisitLetIn([NotNull] LetInContext context) { LetInNode node = new LetInNode(context) { propertyLet = new List <PropertyNode>(), exprBody = VisitExpr(context.expr()) as ExprNode }; foreach (var property in context.property()) { node.propertyLet.Add(VisitProperty(property) as PropertyNode); } return(node); }