Create basic support for names case checks and implement function name case check

This commit is contained in:
Igor Aleksanov 2020-10-03 12:48:02 +03:00
parent 518f6d7724
commit 4039176ec6
6 changed files with 300 additions and 3 deletions

View file

@ -255,6 +255,37 @@ impl ModuleDef {
ModuleDef::BuiltinType(it) => Some(it.as_name()),
}
}
pub fn diagnostics(self, db: &dyn HirDatabase, sink: &mut DiagnosticSink) {
match self {
ModuleDef::Adt(it) => match it {
Adt::Struct(it) => {
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
}
Adt::Enum(it) => hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink),
Adt::Union(it) => hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink),
},
ModuleDef::Trait(it) => {
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
}
ModuleDef::Function(it) => {
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
}
ModuleDef::TypeAlias(it) => {
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
}
ModuleDef::Module(it) => {
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
}
ModuleDef::Const(it) => {
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
}
ModuleDef::Static(it) => {
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
}
_ => return,
}
}
}
pub use hir_def::{