Is your feature request related to a problem? Please describe.
For DSLs we've added (see #356) support for quick typecheckers/lints called an analyzer, and expensive checks on save called builders. For rascal there are certain checks we could also do much faster&frequent, without waiting for the typechecker to trigger.
Describe the solution you'd like
Every successful parse (so no errors) we trigger an analyzer, that triggers a rascal module that (ideally only once) visits the parse tree and reports warnings/errors on them. Ideally with quick fixes.
The first consumer would be the annotation rewrite code (introduced in #1099). Another one would be a fix on the filename vs module header.
Describe alternatives you've considered
Wait for the typechecker to complete.
Is your feature request related to a problem? Please describe.
For DSLs we've added (see #356) support for quick typecheckers/lints called an analyzer, and expensive checks on save called builders. For rascal there are certain checks we could also do much faster&frequent, without waiting for the typechecker to trigger.
Describe the solution you'd like
Every successful parse (so no errors) we trigger an analyzer, that triggers a rascal module that (ideally only once) visits the parse tree and reports warnings/errors on them. Ideally with quick fixes.
The first consumer would be the annotation rewrite code (introduced in #1099). Another one would be a fix on the filename vs module header.
Describe alternatives you've considered
Wait for the typechecker to complete.