Draft: Merge LSP fork to upstream
We have tests that run our parsers on some example contracts and make sure it succeeds. However, our parsers a very resilient, and thus they almost never fail completely.
Change the tests to not only check whether parsing failed with an exception, but to also see if the list of messages is empty. Thus, if the parser does not fail completely and returns something, but not everything is right, we will notice this, because there will be error messages in the result.
Also add some negative tests so that we actually observe failures.
Edited by Grigory Pevnev