Skip to content

Comments

refactor(linter): replace ast "compare by hash" to "compare by content"#5602

Merged
Boshen merged 2 commits intooxc-project:mainfrom
shulaoda:feat/use-content-eq
Sep 8, 2024
Merged

refactor(linter): replace ast "compare by hash" to "compare by content"#5602
Boshen merged 2 commits intooxc-project:mainfrom
shulaoda:feat/use-content-eq

Conversation

@shulaoda
Copy link
Contributor

@shulaoda shulaoda commented Sep 8, 2024

closes #5600

I currently don't have a good idea on how to replace the following code:

let mut map = FxHashMap::default();
map.reserve(ss.cases.len());
for case in &ss.cases {
if let Some(test) = case.test.as_ref() {
let hash = calculate_hash(test.get_inner_expression());
if let Some(prev_span) = map.insert(hash, test.span()) {
ctx.diagnostic(no_duplicate_case_diagnostic(prev_span, test.span()));
}
}
}

@graphite-app
Copy link
Contributor

graphite-app bot commented Sep 8, 2024

Your org has enabled the Graphite merge queue for merging into main

Add the label “0-merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix.

You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link.

@github-actions github-actions bot added the A-linter Area - Linter label Sep 8, 2024
@codspeed-hq
Copy link

codspeed-hq bot commented Sep 8, 2024

CodSpeed Performance Report

Merging #5602 will not alter performance

Comparing shulaoda:feat/use-content-eq (65b11f3) with main (f49e6eb)

Summary

✅ 29 untouched benchmarks

@shulaoda shulaoda marked this pull request as draft September 8, 2024 07:18
@Boshen
Copy link
Member

Boshen commented Sep 8, 2024

I can work on no_duplicate_case.

@shulaoda shulaoda marked this pull request as ready for review September 8, 2024 15:26
@shulaoda shulaoda force-pushed the feat/use-content-eq branch from e00979e to 65b11f3 Compare September 8, 2024 15:26
@Boshen
Copy link
Member

Boshen commented Sep 8, 2024

NICE! No test failure!

@Boshen Boshen merged commit 4e748b5 into oxc-project:main Sep 8, 2024
@shulaoda shulaoda deleted the feat/use-content-eq branch September 9, 2024 02:44
@oxc-bot oxc-bot mentioned this pull request Sep 12, 2024
Boshen added a commit that referenced this pull request Sep 12, 2024
## [0.9.4] - 2024-09-12

### Features

- 9ca2593 linter: Eslint/sort-keys  (#4845) (Na'aman Hirschfeld)
- 023c160 linter: Impl `Serialize` for `OxlintConfig` (#5594) (DonIsaac)
- 24d6a47 linter: Implement `eslint/no-invalid-regexp` (#5443) (Boshen)

### Bug Fixes

- af6d240 linter: Panic in consistent-function-scoping (#5613)
(DonIsaac)
- 54e2e76 linter: `react/no_set_state` + `react/no_string_refs` rules
find correct parent (#5615) (overlookmotel)
- 3b87ac4 linter: Fix no_unused_vars panic when encountering unicode
(#5582) (Boshen)

### Performance

- bfe9186 linter: Use `cow_replace` instead of `replace` (#5643)
(dalaoshu)
- e3ae5db linter: Use cow_to_ascii_lowercase/uppercase (#5637) (heygsc)
- a0370bf linter: Use cow_utils in no_script_url (#5633) (heygsc)
- 37e922c linter: `eslint/no_shadow_restricted_names` use
`run_on_symbol` (#5618) (overlookmotel)
- 0b7fccf linter: `react/no_set_state` + `react/no_string_refs` rules
reduce iteration over ancestors (#5616) (overlookmotel)
- 2c3f3fe linter: Make `jsx_key` slightly faster (#5585) (Boshen)
- cd81d12 linter: Add `should_run` to check path only once to
nextjs/no_typos (#5584) (Boshen)
- d18c896 rust: Use `cow_utils` instead (#5664) (dalaoshu)

### Documentation

- 64f9575 linter: Add plugin usage to example with configuration
(Boshen)
- 8c9179d linter: Fix typos (#5591) (Brian Donovan)

### Refactor

- 9e9435f linter: Add `LintFilter` (#5685) (DonIsaac)
- 4f70fe5 linter: Start internal/external split of LintPluginOptions
(#5660) (DonIsaac)
- 5ae9b48 linter: Start internal/external split of `OxlintOptions`
(#5659) (DonIsaac)
- c8bc6f0 linter: Use `std::ptr::eq` (#5649) (overlookmotel)
- a37c064 linter: Use `ContentHash` for `no_duplicate_case`; remove
`calculate_hash` (#5648) (Boshen)
- 0b3c1d7 linter: Start internal/external split of `OxlintConfig`
(#5595) (DonIsaac)
- 89bdf55 linter: Inline `Rule` trait default methods (#5619)
(overlookmotel)
- afea8d5 linter: Rename `Rule` trait method params (#5617)
(overlookmotel)
- 4e748b5 linter: Replace ast "compare by hash" to "compare by content"
(#5602) (dalaoshu)
- bac03e3 linter: Make fields of `LintServiceOptions` private (#5593)
(DonIsaac)
- 2661d8b linter: Jest prefer_strict_equal (#5588) (IWANABETHATGUY)
- 20d0068 oxlint: Move cli-related exports to `cli` module (#5139)
(DonIsaac)
- 067f9b5 semantic: Introduce `IsGlobalReference` trait (#5672)
(Boshen)- 26d9235 Enable clippy::ref_as_ptr (#5577) (夕舞八弦)

### Testing

- 8e79f8d linter: Add class method test cases for `oxc/no-async-await`
(#5550) (DonIsaac)
- 3835189 linter: Add test case for no_unused_vars in 3b87ac4 (Boshen)
- 5f27551 linter: Add a passing case to no_undef (#5580) (Boshen)

---------

Co-authored-by: Boshen <[email protected]>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This was referenced Sep 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-linter Area - Linter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor(linter): replace ast "compare by hash" to "compare by content"

2 participants