Community
Participate
Working Groups
When there are issues in a grammar/lexer that makes it take a very long time to complete it is impossible to cancel the build in the ui when doing a "build clean". The only option is to kill the entire IDE process. This is is bad as it sometimes corrupts the test workspace. The normal "exit" reports that it is waiting on the build to complete... I understand that the performance monitor is not passed all the way to the lower levels of the antlr code. But it may be possible to do something in the lexer's nextToken, or have a separate tread that checks cancel status and simply kills the parser...
Just wanted to mention that this is an issue for us too. We sometimes have pretty big files (couple of MiBs) that take half a minute or so to process.
The monitor is passed down to the typical time consumers and checked for the cancel state. We could of course pass it down to the metal but I suggest people should unit-test their languages before deploying them into the IDE.