mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-27 04:19:18 +00:00
[red-knot] Early return from project.is_file_open
for vendored files (#17580)
This commit is contained in:
parent
5407249467
commit
8abf93f5fb
1 changed files with 9 additions and 6 deletions
|
@ -314,20 +314,23 @@ impl Project {
|
||||||
/// * It has a [`SystemPath`] and belongs to a package's `src` files
|
/// * It has a [`SystemPath`] and belongs to a package's `src` files
|
||||||
/// * It has a [`SystemVirtualPath`](ruff_db::system::SystemVirtualPath)
|
/// * It has a [`SystemVirtualPath`](ruff_db::system::SystemVirtualPath)
|
||||||
pub fn is_file_open(self, db: &dyn Db, file: File) -> bool {
|
pub fn is_file_open(self, db: &dyn Db, file: File) -> bool {
|
||||||
|
let path = file.path(db);
|
||||||
|
|
||||||
|
// Try to return early to avoid adding a dependency on `open_files` or `file_set` which
|
||||||
|
// both have a durability of `LOW`.
|
||||||
|
if path.is_vendored_path() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(open_files) = self.open_files(db) {
|
if let Some(open_files) = self.open_files(db) {
|
||||||
open_files.contains(&file)
|
open_files.contains(&file)
|
||||||
} else if file.path(db).is_system_path() {
|
} else if file.path(db).is_system_path() {
|
||||||
self.contains_file(db, file)
|
self.files(db).contains(&file)
|
||||||
} else {
|
} else {
|
||||||
file.path(db).is_system_virtual_path()
|
file.path(db).is_system_virtual_path()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns `true` if `file` is a first-party file part of this package.
|
|
||||||
pub fn contains_file(self, db: &dyn Db, file: File) -> bool {
|
|
||||||
self.files(db).contains(&file)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[tracing::instrument(level = "debug", skip(self, db))]
|
#[tracing::instrument(level = "debug", skip(self, db))]
|
||||||
pub fn remove_file(self, db: &mut dyn Db, file: File) {
|
pub fn remove_file(self, db: &mut dyn Db, file: File) {
|
||||||
tracing::debug!(
|
tracing::debug!(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue