From 85068dae60db02b168a29ffd75e1408e30d279e1 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 27 Sep 2008 05:31:43 +0000 Subject: Add friendly error messages to both engines. --- .../ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs') diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs index 86d6188..e8f2b71 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/CSCodeGenerator.cs @@ -89,7 +89,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools ResetCounters(); Parser p = new LSLSyntax(new yyLSLSyntax(), new ErrorHandler(true)); // Obviously this needs to be in a try/except block. - LSL2CSCodeTransformer codeTransformer = new LSL2CSCodeTransformer(p.Parse(script)); + LSL2CSCodeTransformer codeTransformer; + try + { + codeTransformer = new LSL2CSCodeTransformer(p.Parse(script)); + } + catch (CSToolsException e) + { + string message; + + // LL start numbering lines at 0 - geeks! + // + message = String.Format("Line ({0},{1}) {2}", + e.slInfo.lineNumber - 1, + e.slInfo.charPosition - 1, e.Message); + + throw new Exception(message); + } + m_astRoot = codeTransformer.Transform(); string retstr = String.Empty; -- cgit v1.1