Skip to content

Commit

Permalink
Improve error display when a token does not match during interpretation
Browse files Browse the repository at this point in the history
  • Loading branch information
ethanmoffat committed Feb 3, 2022
1 parent a71b805 commit 073b529
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion EOBot/Interpreter/BotInterpreter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,19 @@ public async Task Run(ProgramState programState)
IScriptEvaluator scriptEvaluator = new ScriptEvaluator(evaluators);

var result = await scriptEvaluator.EvaluateAsync(programState);
if (result.Result != EvalResult.Ok)
if (result.Result == EvalResult.Failed)
{
ConsoleHelper.WriteMessage(ConsoleHelper.Type.Error, $"Error during execution at line {result.Token.LineNumber} column {result.Token.Column}", ConsoleColor.DarkRed);
ConsoleHelper.WriteMessage(ConsoleHelper.Type.Error, result.Reason, ConsoleColor.DarkRed);
}
else if (result.Result == EvalResult.NotMatch)
{
ConsoleHelper.WriteMessage(ConsoleHelper.Type.Error, $"Error at line {result.Token.LineNumber} column {result.Token.Column}: {result.Token.TokenType} {result.Token.TokenValue} was unexpected", ConsoleColor.DarkRed);
if (!string.IsNullOrWhiteSpace(result.Reason))
{
ConsoleHelper.WriteMessage(ConsoleHelper.Type.Error, result.Reason, ConsoleColor.DarkRed);
}
}
}
}
}

0 comments on commit 073b529

Please sign in to comment.