Crash when semicolon after invariant+tau is missing
Reported by Sebastian Kruse:
Fehlt nach der Tau action nach der Invariante (line 7 in invTau.modest) das Semicolon, crasht mcsta mit folgendem Fehler:
Unbehandelte Ausnahme: System.FormatException: Die Eingabezeichenfolge hat das falsche Format.
bei System.Text.StringBuilder.FormatError()
bei System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
bei System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
bei System.String.Format(IFormatProvider provider, String format, Object[] args)
bei System.IO.TextWriter.WriteLine(String format, Object[] arg)
bei System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object[] arg)
bei System.Console.WriteLine(String format, Object[] arg)
bei Modest.CommandLine.ConsoleOutputHandler.WriteMessage(String format, Object[] args)
bei Modest.Modularity.ComponentErrorHandlerExtensions.<>c__DisplayClass0_0.<GetComponentErrorHandler>b__0(String identifier, String message, Severity severity, ILocation location)
bei Modest.Language.ModestParser.ExpectToken(TokenType expectedType, State state, ILocation& loc)
bei Modest.Language.ModestParser.EatToken(TokenType expectedType, State state, ILocation& loc, Boolean isPropertyExpression)
bei Modest.Language.ModestParser.ParseLoop(State state, ILocation loc)
bei Modest.Language.ModestParser.ParseBehaviour(State state, Boolean returnNullOnVariableDeclaration)
bei Modest.Language.ModestParser.ParseProcessBody(State state)
bei Modest.Language.ModestParser.ParseModel(ModestLexer lexer, ComponentErrorHandler reportError, Boolean freezeProcess)
bei Modest.Language.ModestDocument.DoParse(String text, OperationState operationState, IErrorHandler errors)
bei Modest.Language.ModestDocument.Parse(OperationState operationState, IErrorHandler errors)
bei Modest.Modularity.InputToolchain`1.DoLoad(IP inputParameters, IDocument document, OperationState operationState, IErrorHandler errors)
bei Modest.Modularity.InputToolchain`1.Load(IParameterObject inputParameters, IEnumerable`1 streams, IEnumerable`1 fileNames, OperationState operationState, IErrorHandler errors)
bei Modest.Executables.Mcsta.Program.<>c__DisplayClass4_1.<Run>b__2(Stream[] streams)
bei Modest.CommandLine.CommandLineHelper.UsingInputStreams(String[] inputFiles, Action`1 action)
bei Modest.Executables.Mcsta.Program.Run(McstaParams parameters)
bei Modest.Executables.Mcsta.Program.Main(String[] args)
Edited by Arnd Hartmanns