public void Analyze(INode node, QLContext context) { Context = context; Analyze((dynamic)node); LabelChecker.Check(Result); }
public void Analyze(INode node, QLContext context) { Context = context; var messages = new List <Message>(); node.CheckSemantics(context, messages); foreach (var message in messages) { Result.AddEvent(message); } }
protected void AnalyzeAstNode(INode node) { var Context = new QLContext(); // Get and check question declarations var declarationValidator = new DeclarationValidator(Result); declarationValidator.Analyze(node, Context); if (!Result.ContainsErrors()) // Only apply type checking if the declaration validator passed { var typeChecker = new TypeChecker(Result); typeChecker.Analyze(node, Context); } }