From 86b4f7a81bf9eabe561407296a1cf760a61b51a6 Mon Sep 17 00:00:00 2001 From: Alan Zimmerman Date: Mon, 4 Nov 2024 06:42:56 -0800 Subject: [PATCH] Back out "BE: Switch to using a struct for eqwalizer include generated" Summary: Original commit changeset: 8ed7728521e6 Original Phabricator Diff: D65342308 Reviewed By: ilya-klyuchnikov Differential Revision: D65420063 fbshipit-source-id: 53b51c925fab066fe41f10a052c0614e2119e955 --- crates/elp/src/bin/eqwalizer_cli.rs | 17 +++++----- crates/elp/src/bin/glean.rs | 4 +-- crates/elp/src/bin/lint_cli.rs | 11 ++----- crates/elp/src/bin/reporting.rs | 4 +-- crates/elp/src/server.rs | 10 ++---- crates/elp/src/snapshot.rs | 13 +++----- crates/elp/tests/slow-tests/buck_tests.rs | 4 +-- crates/eqwalizer/src/lib.rs | 2 -- crates/hir/src/test_db.rs | 4 +-- crates/ide/src/diagnostics.rs | 6 ++-- crates/ide/src/fixture.rs | 5 ++- crates/ide/src/lib.rs | 14 ++++----- crates/ide_db/src/eqwalizer.rs | 11 +++---- crates/ide_db/src/lib.rs | 6 ++-- crates/types_db/src/lib.rs | 38 +---------------------- 15 files changed, 47 insertions(+), 102 deletions(-) diff --git a/crates/elp/src/bin/eqwalizer_cli.rs b/crates/elp/src/bin/eqwalizer_cli.rs index 02cf021828..48ada43cbb 100644 --- a/crates/elp/src/bin/eqwalizer_cli.rs +++ b/crates/elp/src/bin/eqwalizer_cli.rs @@ -22,7 +22,6 @@ use elp::cli::Cli; use elp::convert; use elp_eqwalizer::EqwalizerConfig; use elp_eqwalizer::EqwalizerDiagnosticsDatabase; -use elp_eqwalizer::EqwalizerIncludes; use elp_eqwalizer::Mode; use elp_ide::diagnostics::Diagnostic; use elp_ide::diagnostics::DiagnosticsConfig; @@ -144,7 +143,7 @@ pub fn do_eqwalize_all( set_eqwalizer_config(loaded, args.clause_coverage); let analysis = &loaded.analysis(); let module_index = analysis.module_index(loaded.project_id)?; - let eqwalizer_includes = EqwalizerIncludes::new().set_generated(args.include_generated.into()); + let include_generated = args.include_generated.into(); let pb = cli.progress(module_index.len_own() as u64, "Gathering modules"); let file_ids: Vec = module_index .iter_own() @@ -152,7 +151,7 @@ pub fn do_eqwalize_all( .progress_with(pb.clone()) .map_with(analysis.clone(), |analysis, (_name, _source, file_id)| { if analysis - .should_eqwalize(file_id, eqwalizer_includes) + .should_eqwalize(file_id, include_generated) .unwrap() { Some(file_id) @@ -212,13 +211,13 @@ pub fn do_eqwalize_app( set_eqwalizer_config(loaded, args.clause_coverage); let analysis = &loaded.analysis(); let module_index = analysis.module_index(loaded.project_id)?; - let eqwalizer_includes = EqwalizerIncludes::new().set_generated(args.include_generated.into()); + let include_generated = args.include_generated.into(); let file_ids: Vec = module_index .iter_own() .filter_map(|(_name, _source, file_id)| { if analysis.file_app_name(file_id).ok()? == Some(AppName(args.app.clone())) && analysis - .should_eqwalize(file_id, eqwalizer_includes) + .should_eqwalize(file_id, include_generated) .unwrap() { Some(file_id) @@ -262,7 +261,7 @@ pub fn eqwalize_target( let buck_target = buck_target.strip_suffix(':').unwrap_or(buck_target); let analysis = &loaded.analysis(); - let eqwalizer_includes = EqwalizerIncludes::new().set_generated(args.include_generated.into()); + let include_generated = args.include_generated.into(); let mut file_ids: Vec = Default::default(); let mut at_least_one_found = false; let exact_match = buck_target.contains(':'); @@ -279,7 +278,7 @@ pub fn eqwalize_target( if let Some(file_id) = loaded.vfs.file_id(&vfs_path) { at_least_one_found = true; if analysis - .should_eqwalize(file_id, eqwalizer_includes) + .should_eqwalize(file_id, include_generated) .unwrap() { file_ids.push(file_id); @@ -330,7 +329,7 @@ pub fn eqwalize_stats( build::compile_deps(&loaded, cli)?; let analysis = &loaded.analysis(); let module_index = analysis.module_index(loaded.project_id)?; - let eqwalizer_includes = EqwalizerIncludes::new().set_generated(args.include_generated.into()); + let include_generated = args.include_generated.into(); let project_id = loaded.project_id; let pb = cli.progress(module_index.len_own() as u64, "Computing stats"); let stats: FxHashMap)> = module_index @@ -339,7 +338,7 @@ pub fn eqwalize_stats( .progress_with(pb.clone()) .map_with(analysis.clone(), |analysis, (name, _source, file_id)| { if analysis - .should_eqwalize(file_id, eqwalizer_includes) + .should_eqwalize(file_id, include_generated) .expect("cancelled") { analysis diff --git a/crates/elp/src/bin/glean.rs b/crates/elp/src/bin/glean.rs index a80dd01fb2..d3929e5b35 100644 --- a/crates/elp/src/bin/glean.rs +++ b/crates/elp/src/bin/glean.rs @@ -17,7 +17,7 @@ use elp::build::types::LoadResult; use elp::cli::Cli; use elp_eqwalizer::ast::Pos; use elp_eqwalizer::EqwalizerDiagnostics; -use elp_eqwalizer::EqwalizerIncludes; +use elp_eqwalizer::IncludeGenerated; use elp_ide::elp_ide_db::docs::DocDatabase; use elp_ide::elp_ide_db::elp_base_db::module_name; use elp_ide::elp_ide_db::elp_base_db::path_for_file; @@ -1371,7 +1371,7 @@ impl GleanIndexer { vars: FxHashMap<&Location, &String>, ) -> Vec { let mut result = vec![]; - if !db.is_eqwalizer_enabled(file_id, EqwalizerIncludes::new()) { + if !db.is_eqwalizer_enabled(file_id, IncludeGenerated::No) { return result; } let module_diagnostics = db.eqwalizer_diagnostics_by_project(project_id, vec![file_id]); diff --git a/crates/elp/src/bin/lint_cli.rs b/crates/elp/src/bin/lint_cli.rs index fcc680004f..517eeba221 100644 --- a/crates/elp/src/bin/lint_cli.rs +++ b/crates/elp/src/bin/lint_cli.rs @@ -24,7 +24,6 @@ use elp::cli::Cli; use elp::convert; use elp::otp_file_to_ignore; use elp::read_lint_config_file; -use elp_eqwalizer::EqwalizerIncludes; use elp_eqwalizer::Mode; use elp_ide::diagnostics; use elp_ide::diagnostics::DiagnosticsConfig; @@ -193,10 +192,7 @@ fn do_parse_one( } } else { if let Some(diags) = db - .eqwalizer_diagnostics_for_file( - file_id, - EqwalizerIncludes::new().set_generated(args.include_generated.into()), - ) + .eqwalizer_diagnostics_for_file(file_id, args.include_generated.into()) .unwrap() { diagnostics.set_eqwalizer(file_id, diags); @@ -205,10 +201,7 @@ fn do_parse_one( } if args.include_eqwalizer_diagnostics { if let Some(diags) = db - .eqwalizer_diagnostics_for_file( - file_id, - EqwalizerIncludes::new().set_generated(args.include_generated.into()), - ) + .eqwalizer_diagnostics_for_file(file_id, args.include_generated.into()) .unwrap() { diagnostics.set_eqwalizer(file_id, diags); diff --git a/crates/elp/src/bin/reporting.rs b/crates/elp/src/bin/reporting.rs index b4039845e4..629094e5cc 100644 --- a/crates/elp/src/bin/reporting.rs +++ b/crates/elp/src/bin/reporting.rs @@ -26,7 +26,7 @@ use elp::arc_types; use elp::build::types::LoadResult; use elp::cli::Cli; use elp::convert; -use elp_eqwalizer::EqwalizerIncludes; +use elp_eqwalizer::IncludeGenerated; use elp_ide::elp_ide_db::elp_base_db::AbsPath; use elp_ide::elp_ide_db::elp_base_db::FileId; use elp_ide::elp_ide_db::elp_base_db::VfsPath; @@ -223,7 +223,7 @@ impl<'a> Reporter for JsonReporter<'a> { let line_index = self.analysis.line_index(file_id)?; let eqwalizer_enabled = self .analysis - .is_eqwalizer_enabled(file_id, EqwalizerIncludes::new().generated()) + .is_eqwalizer_enabled(file_id, IncludeGenerated::Yes) .unwrap(); let file_path = &self.loaded.vfs.file_path(file_id); let root_path = &self diff --git a/crates/elp/src/server.rs b/crates/elp/src/server.rs index 6b8548801e..7edeee8933 100644 --- a/crates/elp/src/server.rs +++ b/crates/elp/src/server.rs @@ -24,7 +24,7 @@ use crossbeam_channel::Sender; use dispatch::NotificationDispatcher; use elp_eqwalizer::ast::Pos; use elp_eqwalizer::types::Type; -use elp_eqwalizer::EqwalizerIncludes; +use elp_eqwalizer::IncludeGenerated; use elp_ide::diagnostics; use elp_ide::diagnostics::DiagnosticsConfig; use elp_ide::diagnostics::LabeledDiagnostics; @@ -1531,11 +1531,7 @@ impl Server { self.cache_pool.handle.spawn_with_sender(move |sender| { while !files.is_empty() { let file_id = files.remove(files.len() - 1); - match snapshot.update_cache_for_file( - file_id, - EqwalizerIncludes::new(), - eqwalize_all, - ) { + match snapshot.update_cache_for_file(file_id, IncludeGenerated::No, eqwalize_all) { Ok(_) => {} Err(_) => { // Got canceled @@ -1574,7 +1570,7 @@ impl Server { for (_, _, file_id) in module_index.iter_own() { match snapshot .analysis - .should_eqwalize(file_id, EqwalizerIncludes::new()) + .should_eqwalize(file_id, IncludeGenerated::No) { Ok(true) => { files.push(file_id); diff --git a/crates/elp/src/snapshot.rs b/crates/elp/src/snapshot.rs index 4d87947318..a2a5d9d0ed 100644 --- a/crates/elp/src/snapshot.rs +++ b/crates/elp/src/snapshot.rs @@ -14,7 +14,7 @@ use anyhow::Context; use anyhow::Result; use elp_eqwalizer::ast::Pos; use elp_eqwalizer::types::Type; -use elp_eqwalizer::EqwalizerIncludes; +use elp_eqwalizer::IncludeGenerated; use elp_ide::diagnostics; use elp_ide::diagnostics::DiagnosticsConfig; use elp_ide::diagnostics::LabeledDiagnostics; @@ -166,12 +166,12 @@ impl Snapshot { pub fn update_cache_for_file( &self, file_id: FileId, - eqwalizer_includes: EqwalizerIncludes, + include_generated: IncludeGenerated, optimize_for_eqwalizer: bool, ) -> Result<()> { let _ = self.analysis.def_map(file_id)?; if optimize_for_eqwalizer { - let should_eqwalize = self.analysis.should_eqwalize(file_id, eqwalizer_includes)?; + let should_eqwalize = self.analysis.should_eqwalize(file_id, include_generated)?; if should_eqwalize { let _ = self.analysis.module_ast( file_id, @@ -213,7 +213,7 @@ impl Snapshot { let file_url = self.file_id_to_url(file_id); let _timer = timeit_with_telemetry!(TelemetryData::EqwalizerDiagnostics { file_url }); self.analysis - .eqwalizer_diagnostics_for_file(file_id, EqwalizerIncludes::new().generated()) + .eqwalizer_diagnostics_for_file(file_id, IncludeGenerated::Yes) .ok()? } @@ -227,10 +227,7 @@ impl Snapshot { let file_ids: Vec = module_index .iter_own() .filter_map(|(_, _, file_id)| { - if let Ok(true) = self - .analysis - .should_eqwalize(file_id, EqwalizerIncludes::new()) - { + if let Ok(true) = self.analysis.should_eqwalize(file_id, IncludeGenerated::No) { Some(file_id) } else { None diff --git a/crates/elp/tests/slow-tests/buck_tests.rs b/crates/elp/tests/slow-tests/buck_tests.rs index af46c446cd..548a28bf25 100644 --- a/crates/elp/tests/slow-tests/buck_tests.rs +++ b/crates/elp/tests/slow-tests/buck_tests.rs @@ -14,7 +14,7 @@ mod tests { use elp::build::load; use elp::cli::Fake; - use elp_eqwalizer::EqwalizerIncludes; + use elp_eqwalizer::IncludeGenerated; use elp_ide::elp_ide_db::elp_base_db::AbsPath; use elp_ide::elp_ide_db::elp_base_db::IncludeOtp; use elp_ide::erlang_service::Format; @@ -71,7 +71,7 @@ mod tests { .unwrap(); assert_eq!(ast.errors, vec![]); let eq_enabled = analysis - .is_eqwalizer_enabled(file_id, EqwalizerIncludes::new()) + .is_eqwalizer_enabled(file_id, IncludeGenerated::No) .expect(&format!( "Failed to check if eqwalizer enabled for {module}" )); diff --git a/crates/eqwalizer/src/lib.rs b/crates/eqwalizer/src/lib.rs index 67ac8832a0..29f10e2d85 100644 --- a/crates/eqwalizer/src/lib.rs +++ b/crates/eqwalizer/src/lib.rs @@ -45,9 +45,7 @@ use crate::ipc::EqWAlizerASTFormat; pub mod analyses; pub mod ast; pub use elp_types_db::eqwalizer::types; -pub use elp_types_db::EqwalizerIncludes; pub use elp_types_db::IncludeGenerated; -pub use elp_types_db::IncludeTests; #[derive(Clone, Eq, PartialEq, Debug)] pub enum Mode { diff --git a/crates/hir/src/test_db.rs b/crates/hir/src/test_db.rs index 3d6e32aafd..ac19a2183e 100644 --- a/crates/hir/src/test_db.rs +++ b/crates/hir/src/test_db.rs @@ -21,7 +21,7 @@ use elp_base_db::FileRange; use elp_base_db::SourceDatabase; use elp_base_db::Upcast; use elp_types_db::eqwalizer; -use elp_types_db::EqwalizerIncludes; +use elp_types_db::IncludeGenerated; use elp_types_db::TypedSemantic; use crate::db::InternDatabase; @@ -69,7 +69,7 @@ impl TypedSemantic for TestDB { fn eqwalizer_diagnostics( &self, _file_id: FileId, - _eqwalizer_includes: EqwalizerIncludes, + _include_generated: IncludeGenerated, ) -> Option> { panic!("Eqwalizer data is not available in HIR tests") } diff --git a/crates/ide/src/diagnostics.rs b/crates/ide/src/diagnostics.rs index 288fae00fa..c401b225f6 100644 --- a/crates/ide/src/diagnostics.rs +++ b/crates/ide/src/diagnostics.rs @@ -58,7 +58,7 @@ use elp_syntax::SyntaxKind; use elp_syntax::SyntaxNode; use elp_syntax::TextRange; use elp_syntax::TextSize; -use elp_types_db::EqwalizerIncludes; +use elp_types_db::IncludeGenerated; use elp_types_db::TypedSemantic; use erlang_service::CompileOption; use fxhash::FxHashMap; @@ -1245,9 +1245,9 @@ fn label_erlang_service_diagnostics( pub fn eqwalizer_diagnostics( db: &RootDatabase, file_id: FileId, - eqwalizer_includes: EqwalizerIncludes, + include_generated: IncludeGenerated, ) -> Option> { - let eqwalizer_diagnostics = db.eqwalizer_diagnostics(file_id, eqwalizer_includes)?; + let eqwalizer_diagnostics = db.eqwalizer_diagnostics(file_id, include_generated)?; // Because of the way db.eqwalizer_diagnostics() is implemented, // we only get diagnostics if it is enabled. let eqwalizer_enabled = true; diff --git a/crates/ide/src/fixture.rs b/crates/ide/src/fixture.rs index 920e651db5..541404c84a 100644 --- a/crates/ide/src/fixture.rs +++ b/crates/ide/src/fixture.rs @@ -16,7 +16,6 @@ use elp_ide_db::elp_base_db::FileRange; use elp_ide_db::elp_base_db::SourceDatabase; use elp_ide_db::RootDatabase; use elp_project_model::test_fixture::DiagnosticsEnabled; -use elp_types_db::EqwalizerIncludes; use crate::diagnostics::AdhocSemanticDiagnostics; use crate::diagnostics::DiagnosticsConfig; @@ -137,9 +136,9 @@ pub fn diagnostics_for( } } if *use_eqwalizer { - let eqwalizer_includes = EqwalizerIncludes::new().generated(); + let include_generated = elp_types_db::IncludeGenerated::Yes; if let Some(diags) = analysis - .eqwalizer_diagnostics_for_file(file_id, eqwalizer_includes) + .eqwalizer_diagnostics_for_file(file_id, include_generated) .unwrap() { diagnostics.set_eqwalizer(file_id, diags); diff --git a/crates/ide/src/lib.rs b/crates/ide/src/lib.rs index 01e3208bf8..ecfb8de617 100644 --- a/crates/ide/src/lib.rs +++ b/crates/ide/src/lib.rs @@ -63,7 +63,7 @@ use elp_syntax::AstNode; use elp_syntax::SmolStr; use elp_types_db::eqwalizer; use elp_types_db::eqwalizer::types::Type; -use elp_types_db::EqwalizerIncludes; +use elp_types_db::IncludeGenerated; use erlang_service::CompileOption; use expand_macro::ExpandedMacro; use handlers::get_docs; @@ -232,10 +232,10 @@ impl Analysis { pub fn should_eqwalize( &self, file_id: FileId, - eqwalizer_includes: EqwalizerIncludes, + include_generated: IncludeGenerated, ) -> Cancellable { let is_in_app = self.file_app_type(file_id).ok() == Some(Some(AppType::App)); - Ok(is_in_app && self.is_eqwalizer_enabled(file_id, eqwalizer_includes)?) + Ok(is_in_app && self.is_eqwalizer_enabled(file_id, include_generated)?) } /// Computes the set of eqwalizer diagnostics for the given files, @@ -243,9 +243,9 @@ impl Analysis { pub fn eqwalizer_diagnostics_for_file( &self, file_id: FileId, - eqwalizer_includes: EqwalizerIncludes, + include_generated: IncludeGenerated, ) -> Cancellable>> { - self.with_db(|db| diagnostics::eqwalizer_diagnostics(db, file_id, eqwalizer_includes)) + self.with_db(|db| diagnostics::eqwalizer_diagnostics(db, file_id, include_generated)) } /// Computes the set of eqwalizer diagnostics for the given project and files, @@ -363,9 +363,9 @@ impl Analysis { pub fn is_eqwalizer_enabled( &self, file_id: FileId, - eqwalizer_includes: EqwalizerIncludes, + include_generated: IncludeGenerated, ) -> Cancellable { - self.with_db(|db| db.is_eqwalizer_enabled(file_id, eqwalizer_includes)) + self.with_db(|db| db.is_eqwalizer_enabled(file_id, include_generated)) } /// ETF for the module's abstract forms diff --git a/crates/ide_db/src/eqwalizer.rs b/crates/ide_db/src/eqwalizer.rs index 00f59e219f..4c27195c66 100644 --- a/crates/ide_db/src/eqwalizer.rs +++ b/crates/ide_db/src/eqwalizer.rs @@ -33,7 +33,6 @@ use elp_syntax::ast; use elp_syntax::SmolStr; use elp_types_db::eqwalizer; use elp_types_db::eqwalizer::types::Type; -use elp_types_db::EqwalizerIncludes; use elp_types_db::IncludeGenerated; use fxhash::FxHashSet; use parking_lot::Mutex; @@ -94,7 +93,7 @@ pub trait EqwalizerDatabase: fn has_eqwalizer_app_marker(&self, source_root_id: SourceRootId) -> bool; fn has_eqwalizer_module_marker(&self, file_id: FileId) -> bool; fn has_eqwalizer_ignore_marker(&self, file_id: FileId) -> bool; - fn is_eqwalizer_enabled(&self, file_id: FileId, eqwalizer_includes: EqwalizerIncludes) -> bool; + fn is_eqwalizer_enabled(&self, file_id: FileId, include_generated: IncludeGenerated) -> bool; } pub fn eqwalizer_diagnostics_by_project( @@ -119,7 +118,7 @@ fn type_at_position( db: &dyn EqwalizerDatabase, range: FileRange, ) -> Option> { - if !db.is_eqwalizer_enabled(range.file_id, EqwalizerIncludes::new().generated()) { + if !db.is_eqwalizer_enabled(range.file_id, IncludeGenerated::Yes) { return None; } let project_id = db.file_app_data(range.file_id)?.project_id; @@ -154,7 +153,7 @@ fn type_at_position( } fn types_for_file(db: &dyn EqwalizerDatabase, file_id: FileId) -> Option>> { - if !db.is_eqwalizer_enabled(file_id, EqwalizerIncludes::new().generated()) { + if !db.is_eqwalizer_enabled(file_id, IncludeGenerated::Yes) { return None; } let project_id = db.file_app_data(file_id)?.project_id; @@ -170,12 +169,12 @@ fn types_for_file(db: &dyn EqwalizerDatabase, file_id: FileId) -> Option bool { if !otp_supported_by_eqwalizer() { return false; } - if eqwalizer_includes.include_generated == IncludeGenerated::No && db.is_generated(file_id) { + if include_generated == IncludeGenerated::No && db.is_generated(file_id) { return false; } diff --git a/crates/ide_db/src/lib.rs b/crates/ide_db/src/lib.rs index 63886ee2fe..13e49d16ae 100644 --- a/crates/ide_db/src/lib.rs +++ b/crates/ide_db/src/lib.rs @@ -31,7 +31,7 @@ use elp_syntax::AstNode; use elp_syntax::SyntaxKind; use elp_syntax::SyntaxToken; use elp_types_db::eqwalizer::types::Type; -use elp_types_db::EqwalizerIncludes; +use elp_types_db::IncludeGenerated; use elp_types_db::TypedSemantic; use erlang_service::Connection; use fxhash::FxHashMap; @@ -372,7 +372,7 @@ impl TypedSemantic for RootDatabase { fn eqwalizer_diagnostics( &self, file_id: FileId, - eqwalizer_includes: EqwalizerIncludes, + include_generated: IncludeGenerated, ) -> Option> { // Check, if the file is actually a module let app_data = self.file_app_data(file_id)?; @@ -383,7 +383,7 @@ impl TypedSemantic for RootDatabase { let project_id = app_data.project_id; - let eqwalizer_enabled = self.is_eqwalizer_enabled(file_id, eqwalizer_includes); + let eqwalizer_enabled = self.is_eqwalizer_enabled(file_id, include_generated); if !eqwalizer_enabled { return Some(vec![]); } diff --git a/crates/types_db/src/lib.rs b/crates/types_db/src/lib.rs index d324ea9138..d28dd7cf01 100644 --- a/crates/types_db/src/lib.rs +++ b/crates/types_db/src/lib.rs @@ -25,48 +25,12 @@ use std::sync::Arc; use elp_base_db::FileId; use elp_base_db::FileRange; -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub struct EqwalizerIncludes { - pub include_generated: IncludeGenerated, - pub include_tests: IncludeTests, -} - -impl EqwalizerIncludes { - pub fn new() -> EqwalizerIncludes { - EqwalizerIncludes { - include_generated: IncludeGenerated::No, - include_tests: IncludeTests::No, - } - } - - pub fn generated(mut self) -> EqwalizerIncludes { - self.include_generated = IncludeGenerated::Yes; - self - } - - pub fn set_generated(mut self, include_generated: IncludeGenerated) -> EqwalizerIncludes { - self.include_generated = include_generated; - self - } - - pub fn tests(mut self) -> EqwalizerIncludes { - self.include_generated = IncludeGenerated::Yes; - self - } -} - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum IncludeGenerated { Yes, No, } -#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] -pub enum IncludeTests { - Yes, - No, -} - impl From for IncludeGenerated { fn from(value: bool) -> Self { if value { @@ -81,7 +45,7 @@ pub trait TypedSemantic { fn eqwalizer_diagnostics( &self, file_id: FileId, - include_generated: EqwalizerIncludes, + include_generated: IncludeGenerated, ) -> Option>; fn eqwalizer_type_at_position(