[ty] Remove KnownModule::is_enum (#19681)

## Summary

Changes the visibility of `KnownModule` and removes an unneeded
function.
This commit is contained in:
David Peter 2025-08-01 10:31:12 +02:00 committed by GitHub
parent b30d97e5e0
commit d43e6fb9c6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 20 additions and 22 deletions

View file

@ -69,7 +69,7 @@ impl<'a> Resolver<'a> {
} }
/// Resolves a module name to a module. /// Resolves a module name to a module.
fn resolve_module(&self, module_name: &ModuleName) -> Option<&'a FilePath> { pub(crate) fn resolve_module(&self, module_name: &ModuleName) -> Option<&'a FilePath> {
let module = resolve_module(self.db, module_name)?; let module = resolve_module(self.db, module_name)?;
Some(module.file(self.db)?.path(self.db)) Some(module.file(self.db)?.path(self.db))
} }

View file

@ -7,8 +7,8 @@ use crate::suppression::{INVALID_IGNORE_COMMENT, UNKNOWN_RULE, UNUSED_IGNORE_COM
pub use db::Db; pub use db::Db;
pub use module_name::ModuleName; pub use module_name::ModuleName;
pub use module_resolver::{ pub use module_resolver::{
KnownModule, Module, SearchPathValidationError, SearchPaths, resolve_module, Module, SearchPathValidationError, SearchPaths, resolve_module, resolve_real_module,
resolve_real_module, system_module_search_paths, system_module_search_paths,
}; };
pub use program::{ pub use program::{
Program, ProgramSettings, PythonVersionFileSource, PythonVersionSource, Program, ProgramSettings, PythonVersionFileSource, PythonVersionSource,

View file

@ -1,6 +1,7 @@
use std::iter::FusedIterator; use std::iter::FusedIterator;
pub use module::{KnownModule, Module}; pub(crate) use module::KnownModule;
pub use module::Module;
pub use path::SearchPathValidationError; pub use path::SearchPathValidationError;
pub use resolver::SearchPaths; pub use resolver::SearchPaths;
pub(crate) use resolver::file_to_module; pub(crate) use resolver::file_to_module;

View file

@ -59,7 +59,7 @@ impl<'db> Module<'db> {
} }
/// Is this a module that we special-case somehow? If so, which one? /// Is this a module that we special-case somehow? If so, which one?
pub fn known(self, db: &'db dyn Database) -> Option<KnownModule> { pub(crate) fn known(self, db: &'db dyn Database) -> Option<KnownModule> {
match self { match self {
Module::File(module) => module.known(db), Module::File(module) => module.known(db),
Module::Namespace(_) => None, Module::Namespace(_) => None,
@ -67,7 +67,7 @@ impl<'db> Module<'db> {
} }
/// Does this module represent the given known module? /// Does this module represent the given known module?
pub fn is_known(self, db: &'db dyn Database, known_module: KnownModule) -> bool { pub(crate) fn is_known(self, db: &'db dyn Database, known_module: KnownModule) -> bool {
self.known(db) == Some(known_module) self.known(db) == Some(known_module)
} }
@ -281,7 +281,7 @@ pub enum KnownModule {
} }
impl KnownModule { impl KnownModule {
pub const fn as_str(self) -> &'static str { pub(crate) const fn as_str(self) -> &'static str {
match self { match self {
Self::Builtins => "builtins", Self::Builtins => "builtins",
Self::Enum => "enum", Self::Enum => "enum",
@ -305,7 +305,7 @@ impl KnownModule {
} }
} }
pub fn name(self) -> ModuleName { pub(crate) fn name(self) -> ModuleName {
ModuleName::new_static(self.as_str()) ModuleName::new_static(self.as_str())
.unwrap_or_else(|| panic!("{self} should be a valid module name!")) .unwrap_or_else(|| panic!("{self} should be a valid module name!"))
} }
@ -321,27 +321,23 @@ impl KnownModule {
} }
} }
pub const fn is_builtins(self) -> bool { pub(crate) const fn is_builtins(self) -> bool {
matches!(self, Self::Builtins) matches!(self, Self::Builtins)
} }
pub const fn is_typing(self) -> bool { pub(crate) const fn is_typing(self) -> bool {
matches!(self, Self::Typing) matches!(self, Self::Typing)
} }
pub const fn is_ty_extensions(self) -> bool { pub(crate) const fn is_ty_extensions(self) -> bool {
matches!(self, Self::TyExtensions) matches!(self, Self::TyExtensions)
} }
pub const fn is_inspect(self) -> bool { pub(crate) const fn is_inspect(self) -> bool {
matches!(self, Self::Inspect) matches!(self, Self::Inspect)
} }
pub const fn is_enum(self) -> bool { pub(crate) const fn is_importlib(self) -> bool {
matches!(self, Self::Enum)
}
pub const fn is_importlib(self) -> bool {
matches!(self, Self::ImportLib) matches!(self, Self::ImportLib)
} }
} }

View file

@ -1,7 +1,7 @@
use ruff_db::files::File; use ruff_db::files::File;
use crate::dunder_all::dunder_all_names; use crate::dunder_all::dunder_all_names;
use crate::module_resolver::file_to_module; use crate::module_resolver::{KnownModule, file_to_module};
use crate::semantic_index::definition::{Definition, DefinitionState}; use crate::semantic_index::definition::{Definition, DefinitionState};
use crate::semantic_index::place::{PlaceExprRef, ScopedPlaceId}; use crate::semantic_index::place::{PlaceExprRef, ScopedPlaceId};
use crate::semantic_index::scope::ScopeId; use crate::semantic_index::scope::ScopeId;
@ -13,7 +13,7 @@ use crate::types::{
DynamicType, KnownClass, Truthiness, Type, TypeAndQualifiers, TypeQualifiers, UnionBuilder, DynamicType, KnownClass, Truthiness, Type, TypeAndQualifiers, TypeQualifiers, UnionBuilder,
UnionType, binding_type, declaration_type, todo_type, UnionType, binding_type, declaration_type, todo_type,
}; };
use crate::{Db, FxOrderSet, KnownModule, Program, resolve_module}; use crate::{Db, FxOrderSet, Program, resolve_module};
pub(crate) use implicit_globals::{ pub(crate) use implicit_globals::{
module_type_implicit_global_declaration, module_type_implicit_global_symbol, module_type_implicit_global_declaration, module_type_implicit_global_symbol,

View file

@ -1068,8 +1068,8 @@ impl<'db> InnerIntersectionBuilder<'db> {
mod tests { mod tests {
use super::{IntersectionBuilder, Type, UnionBuilder, UnionType}; use super::{IntersectionBuilder, Type, UnionBuilder, UnionType};
use crate::KnownModule;
use crate::db::tests::setup_db; use crate::db::tests::setup_db;
use crate::module_resolver::KnownModule;
use crate::place::known_module_symbol; use crate::place::known_module_symbol;
use crate::types::enums::enum_member_literals; use crate::types::enums::enum_member_literals;
use crate::types::{KnownClass, Truthiness}; use crate::types::{KnownClass, Truthiness};

View file

@ -9,6 +9,7 @@ use super::{
function::{FunctionDecorators, FunctionType}, function::{FunctionDecorators, FunctionType},
infer_expression_type, infer_unpack_types, infer_expression_type, infer_unpack_types,
}; };
use crate::module_resolver::KnownModule;
use crate::semantic_index::definition::{Definition, DefinitionState}; use crate::semantic_index::definition::{Definition, DefinitionState};
use crate::semantic_index::scope::NodeWithScopeKind; use crate::semantic_index::scope::NodeWithScopeKind;
use crate::semantic_index::{DeclarationWithConstraint, SemanticIndex, attribute_declarations}; use crate::semantic_index::{DeclarationWithConstraint, SemanticIndex, attribute_declarations};
@ -27,7 +28,7 @@ use crate::types::{
infer_definition_types, infer_definition_types,
}; };
use crate::{ use crate::{
Db, FxIndexMap, FxOrderSet, KnownModule, Program, Db, FxIndexMap, FxOrderSet, Program,
module_resolver::file_to_module, module_resolver::file_to_module,
place::{ place::{
Boundness, LookupError, LookupResult, Place, PlaceAndQualifiers, class_symbol, Boundness, LookupError, LookupResult, Place, PlaceAndQualifiers, class_symbol,

View file

@ -6,7 +6,7 @@ use crate::types::{
BoundMethodType, CallableType, EnumLiteralType, IntersectionBuilder, KnownClass, Parameter, BoundMethodType, CallableType, EnumLiteralType, IntersectionBuilder, KnownClass, Parameter,
Parameters, Signature, SpecialFormType, SubclassOfType, Type, UnionType, Parameters, Signature, SpecialFormType, SubclassOfType, Type, UnionType,
}; };
use crate::{Db, KnownModule}; use crate::{Db, module_resolver::KnownModule};
use hashbrown::HashSet; use hashbrown::HashSet;
use quickcheck::{Arbitrary, Gen}; use quickcheck::{Arbitrary, Gen};
use ruff_python_ast::name::Name; use ruff_python_ast::name::Name;