strager

Results 356 comments of strager

Have you tested this parser with any open source JSON test suites? For example: https://github.com/nst/JSONTestSuite EDIT: I see you included some from Prettier. Are these tests comprehensive?

I think we should create another `variable_analyzer`-like class instead of shoving this logic into `variable_analyzer`. Additionally, I think we need `visit_private_property_declaration` and `visit_private_property_use` to property communicate information to the linter....

@metal-oopa Any updates? Do you need help making the PR?

@metal-oopa Someone else wants to work on this task. Did you finish it, or can they pick up this task?

@cmstoddard Tests are in test/test-parse-class.cpp. Add the new error type in src/quick-lint-js/fe/diagnostic-types.h. Implement your fix in src/quick-lint-js/fe/parse-class.cpp. quick-lint-js reports E0223 for the following code: ```javascript class Potato { sprouts =...

(The CI self-check failure is my fault, not yours.)

> @strager I'm getting this error, don't know where it is coming from: Read the comment above the code for the second diagnostic from your compiler: > ../src/./quick-lint-js/translation-table-generated.h:436:3: note: subexpression...

This rule also applies to async functions and async generator functions. It does *not* apply to normal (non-generator non-async) functions. This rule only applies inside switch statements. It does *not*...

This rule also applies in the following case: ```js switch (true) { case true: async function f() {} break; case false: var f; // should error break; } ```

Whoever works on this task needs to change this monster conditional: https://github.com/quick-lint/quick-lint-js/blob/b4cc317fab45960888d708edb41c1ccbc4a4dd21/src/quick-lint-js/fe/variable-analyzer.cpp#L994-L1018 Additionally, because normal functions are treated differently than non-normal for this rule, we need a flag or a...