From 8f3e59ec3649b08fab5842336b0e536d7d38c497 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Mon, 4 Sep 2023 13:52:34 +0000 Subject: [PATCH] parser: introduce ErrPlusPosition to apply a position offset to a lexer.Error Signed-off-by: Alejandro Mery --- parser/error.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/parser/error.go b/parser/error.go index 45aa254..3cc5a53 100644 --- a/parser/error.go +++ b/parser/error.go @@ -14,3 +14,14 @@ func NewError(pos lexer.Position, content, hint string, err error) *lexer.Error Err: err, } } + +// ErrPlusPosition returns a copy of the given [lexer.Error] +// offsetting the Line/Column information. +func ErrPlusPosition(pos lexer.Position, e *lexer.Error) *lexer.Error { + pos.Add(lexer.Position{ + Line: e.Line, + Column: e.Column, + }) + + return NewError(pos, e.Content, e.Hint, e.Err) +}