-
-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Datalog Scope Analysis #70
base: master
Are you sure you want to change the base?
Conversation
I think instead of making the diagnostics ourselves, we should just return an additional structure, maybe |
That's what I do currently, ddlog's output relations are combined into the |
The current way of how errors are emitted and registered is very janky (although its temporary). Firstly, rslint_scope cannot depend on rslint_core, it needs to be the other way around, rules will grab the scope and emit errors based on that. |
1c308c1
to
f13fcb5
Compare
Don't forget to add the |
242350f
to
a9ce335
Compare
834a63a
to
63b609d
Compare
@RDambrosio016 @Stupremee Can y'all fancy up the rule impls, I'm not sure how to make the actually emitted errors good |
c5cca5a
to
a7e55b4
Compare
9b9c00a
to
7976ce7
Compare
4c7338c
to
eb49202
Compare
eb49202
to
4843b87
Compare
Signed-off-by: Chase Wilson <[email protected]>
no-unused-vars to a new config scheme
e8ce650
to
9e68321
Compare
Scope analysis using ddlog. Implements incremental scope analysis using a datalog variant allowing concise and high-level descriptions of analyses, with future goals towards writing more complex analyses, code path analysis and even type checking within datalog.
(Un)implemented bits
no-undef
no-unused-vars
no-use-before-define
no-shadow
typeof-undef
no-unused-labels
Code Structure
crates/rslint_scope/
contains all analysis-related codesrc/analyzer/
contains the ast->ddlog translation codesrc/datalog.rs
contains the ddlog program instance & the interface for interacting with itddlog/
contains the written datalog rulesgenerated/
contains the code generated by ddlogPrior Art & Resources