-
Notifications
You must be signed in to change notification settings - Fork 64
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
VS Code: Validate generated code #828
Conversation
(and refactor for code reuse)
This was mentioned during code review. IntelliJ automates this, so this change should make the guideline easier to follow.
I assume that people will be unhappy if compilation fails just because they used `let` instead of `const`.
This change does not affect standalone mode or complete builds.
This is necessary to keep changes in this branch from making TSGenerator harder to maintain. It also addresses a TODO that has been at the top of doGenerate for some time.
I assume that these bugs were tolerated or ignored because they are in error reporting code, which means they only cause errors when some other error has already occurred.
Resolves conflicts in TSGenerator.kt.
27a6386
to
b63c234
Compare
This tests handling of cases in which preferred software is not present on the system.
b63c234
to
c17701b
Compare
Hm, the only difference between the latest commit and c17701b (for which all tests passed, except benchmark tests which were canceled to save resources) is an extra CodeCov report, and now ReflexGameTest seems to fail in a way that I cannot reproduce locally on the same OS. This seems very strange. Edit: (probably) solved by 49806b3, but still with many unanswered questions. |
I am very glad @lhstrh encouraged me to write more tests in this branch because the tests uncovered several bugs. #850 should probably be merged before this PR. Other than that, I think this is PR is finally ready, unless there are any last-minute concerns, or unless we would like to merge scalability-banks first so that the conflicts are less bad. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, this looks ready to merge. This represents a really significant chunk of work that's really crosscutting. Truly impressive!
Note that CI is not running because of a misconfiguration: https://github.com/lf-lang/lingua-franca/actions/runs/1711584881 |
Right, this is because workflow references have to be changed to |
This PR adds validation on save, with error/warning/info/hint squiggles (usually) reported to the correct lines. In
master
, this feature only exists for C++.Changes:
should later be addedhas been added as an alternative.compileall
is used for syntax checking as a backup.npm
/pnpm
) because it is a dev dependency inpackage.json
.tsc
is used in addition to ESLint for slower, more thorough checks, but only if ESLint does not find any errors.cargo
) because it comes withcargo
.Changes will be added for C when that part of the code base stabilizes. Validation on save currently does not work properly for the C target.