Adds no_spaces rules to selector strings in asm.pest #62
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pr addresses issue #47's "descriptive error for space in selector" item.
test.etk (note spaces in between parameters):
push4 selector("_burn(address, bytes32, uint256)")
eas ./test.etk
output:I've validated that this solution works with spaces at any position in the selector string.
The only downside of this approach is
asm.pest
could potentially get bloated with every little custom parsing error that we want going forward.Alternatively, another approach I tested was creating a new SelectorSpace error type in
parse/error.rs
, allow selector strings to pass through the parser with spaces in them, and then programmatically check for spaces and throw an error. However, taking this approach left me with an error message that didn't show nearly as much information:prints: