diff options
author | Ting-Wei Lan <tingwei.lan@cobinhood.com> | 2019-03-04 18:10:25 +0800 |
---|---|---|
committer | Jhih-Ming Huang <jm.huang@cobinhood.com> | 2019-05-06 10:44:04 +0800 |
commit | 698e83b3cc39737a45244ac2d47595964f6e468c (patch) | |
tree | 6af5b16f7e3914987aeb914fc78e261433cf47cc /core/vm/sqlvm/parser/internal/grammar.peg | |
parent | 126145a7eca2c054367abc65291ab1c90c51b998 (diff) | |
download | dexon-698e83b3cc39737a45244ac2d47595964f6e468c.tar dexon-698e83b3cc39737a45244ac2d47595964f6e468c.tar.gz dexon-698e83b3cc39737a45244ac2d47595964f6e468c.tar.bz2 dexon-698e83b3cc39737a45244ac2d47595964f6e468c.tar.lz dexon-698e83b3cc39737a45244ac2d47595964f6e468c.tar.xz dexon-698e83b3cc39737a45244ac2d47595964f6e468c.tar.zst dexon-698e83b3cc39737a45244ac2d47595964f6e468c.zip |
core: vm: sqlvm: errors: add length field
When an error corresponds to a source code token, it should be able to
report the length of the token in addition to the position.
Diffstat (limited to 'core/vm/sqlvm/parser/internal/grammar.peg')
-rw-r--r-- | core/vm/sqlvm/parser/internal/grammar.peg | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/core/vm/sqlvm/parser/internal/grammar.peg b/core/vm/sqlvm/parser/internal/grammar.peg index c0a8b5e2c..cf3a9ef5e 100644 --- a/core/vm/sqlvm/parser/internal/grammar.peg +++ b/core/vm/sqlvm/parser/internal/grammar.peg @@ -690,6 +690,7 @@ UIntType if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -713,6 +714,7 @@ IntType if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -736,6 +738,7 @@ UFixedType if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -748,6 +751,7 @@ UFixedType if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -772,6 +776,7 @@ FixedType if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -784,6 +789,7 @@ FixedType if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -807,6 +813,7 @@ FixedBytesType if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -921,6 +928,7 @@ Integer if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -952,6 +960,7 @@ Decimal if code != se.ErrorCodeNil { err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -1000,6 +1009,7 @@ NormalString sanitizeBadEscape(bad), code) err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), @@ -1179,6 +1189,7 @@ StringIdentifier sanitizeBadEscape(bad), code) err := se.Error{ Position: uint32(c.pos.offset), + Length: uint32(len(c.text)), Category: se.ErrorCategoryGrammar, Code: code, Token: string(c.text), |