github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/internal/compiler/parser/err_handler.go (about) 1 package parser 2 3 import ( 4 "errors" 5 6 "github.com/antlr4-go/antlr/v4" 7 "github.com/nevalang/neva/internal/compiler" 8 "github.com/nevalang/neva/internal/compiler/sourcecode/core" 9 ) 10 11 type CustomErrorListener struct { 12 *antlr.DefaultErrorListener 13 Errors []error 14 } 15 16 func (c *CustomErrorListener) SyntaxError( 17 _ antlr.Recognizer, 18 offendingSymbol any, 19 line, column int, 20 msg string, 21 e antlr.RecognitionException, 22 ) { 23 c.Errors = append(c.Errors, compiler.Error{ 24 Err: errors.New(msg), 25 Meta: &core.Meta{ 26 Start: core.Position{ 27 Line: line, 28 Column: column, 29 }, 30 }, 31 }) 32 }