Antlr4.StringTemplate.Compiler.TemplateCompiler.ReportMessageAndThrowTemplateException C# (CSharp) Метод

ReportMessageAndThrowTemplateException() защищенный Метод

protected ReportMessageAndThrowTemplateException ( ITokenStream tokens, IToken templateToken, Antlr.Runtime.Parser parser, RecognitionException re ) : void
tokens ITokenStream
templateToken IToken
parser Antlr.Runtime.Parser
re Antlr.Runtime.RecognitionException
Результат void
        protected virtual void ReportMessageAndThrowTemplateException(ITokenStream tokens, IToken templateToken, Parser parser, RecognitionException re)
        {
            if (re.Token.Type == TemplateLexer.EOF_TYPE)
            {
                string msg = "premature EOF";
                ErrorManager.CompiletimeError(ErrorType.SYNTAX_ERROR, templateToken, re.Token, msg);
            }
            else if (re is NoViableAltException)
            {
                string msg = "'" + re.Token.Text + "' came as a complete surprise to me";
                ErrorManager.CompiletimeError(ErrorType.SYNTAX_ERROR, templateToken, re.Token, msg);
            }
            else if (tokens.Index == 0)
            {
                // couldn't parse anything
                string msg = string.Format("this doesn't look like a template: \"{0}\"", tokens);
                ErrorManager.CompiletimeError(ErrorType.SYNTAX_ERROR, templateToken, re.Token, msg);
            }
            else if (tokens.LA(1) == TemplateLexer.LDELIM)
            {
                // couldn't parse expr
                string msg = "doesn't look like an expression";
                ErrorManager.CompiletimeError(ErrorType.SYNTAX_ERROR, templateToken, re.Token, msg);
            }
            else
            {
                string msg = parser.GetErrorMessage(re, parser.TokenNames);
                ErrorManager.CompiletimeError(ErrorType.SYNTAX_ERROR, templateToken, re.Token, msg);
            }

            // we have reported the error, so just blast out
            throw new TemplateException();
        }