[refactoring] use position.Position to store token position

This commit is contained in:
Vadym Slizov
2020-05-17 23:50:23 +03:00
parent f4c15f4671
commit e98607f5d0
7 changed files with 646 additions and 634 deletions

View File

@@ -78,10 +78,10 @@ func (l *Lexer) SetErrors(e []*errors.Error) {
}
func (lex *Lexer) setTokenPosition(token *Token) {
token.StartLine = lex.NewLines.GetLine(lex.ts)
token.EndLine = lex.NewLines.GetLine(lex.te - 1)
token.StartPos = lex.ts
token.EndPos = lex.te
token.Position.StartLine = lex.NewLines.GetLine(lex.ts)
token.Position.EndLine = lex.NewLines.GetLine(lex.te - 1)
token.Position.StartPos = lex.ts
token.Position.EndPos = lex.te
}
func (lex *Lexer) addToken(id TokenID, ps, pe int) {

View File

@@ -1,16 +1,14 @@
package scanner
import (
"github.com/z7zmey/php-parser/pkg/position"
"github.com/z7zmey/php-parser/pkg/token"
)
// Token value returned by lexer
type Token struct {
ID TokenID
Value []byte
Tokens []token.Token
StartLine int
EndLine int
StartPos int
EndPos int
ID TokenID
Value []byte
Tokens []token.Token
Position position.Position
}