Faulty code: CodeError are resumable #13037
Merged
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 feels like nothing, but is an achievement based on numerous previous PR on cleaning, improvements and bugfixes.
It shows that error management in compilation starts to become consistent.
It also means that when a debugger windows pop up in syntax or semantic error, user can "resume" and a faulty method might be produced.
e.g. try the following in the playground
You will get a syntax error. Then click on "▶️ proceed", and the code will be executed anyway (you proceeded, it's your fault) and thus you will a runtime error (whatever as hard you try, a thing is missing, and no decent value can be produced).
Note: I expect that some things might break, although faulty AST and faulty CompiledMethods are tested a lot, but I likely missed some code paths or usage (especially in GUI)