Add quickfix for unknown alias & data types.

This commit is contained in:
KtorZ
2023-10-21 13:57:06 +02:00
parent d965467a53
commit 5986163ba7
3 changed files with 19 additions and 11 deletions

View File

@@ -81,10 +81,10 @@ impl TypedModule {
pub fn has_definition(&self, name: &str) -> bool {
self.definitions.iter().any(|def| match def {
Definition::Fn(f) => f.public && f.name == name,
Definition::TypeAlias(_) => false,
Definition::DataType(_) => false,
Definition::TypeAlias(alias) => alias.public && alias.alias == name,
Definition::ModuleConstant(cst) => cst.public && cst.name == name,
Definition::DataType(t) => t.public && t.name == name,
Definition::Use(_) => false,
Definition::ModuleConstant(_) => false,
Definition::Test(_) => false,
Definition::Validator(_) => false,
})

View File

@@ -968,15 +968,15 @@ impl ExtraData for Error {
| Error::UnknownModuleType { .. }
| Error::UnknownModuleValue { .. }
| Error::UnknownRecordField { .. }
| Error::UnknownType { .. }
| Error::UnknownTypeConstructor { .. }
| Error::UnnecessarySpreadOperator { .. }
| Error::UpdateMultiConstructorType { .. }
| Error::ValidatorImported { .. }
| Error::ValidatorMustReturnBool { .. } => None,
Error::UnknownVariable { name, .. } | Error::UnknownModule { name, .. } => {
Some(name.clone())
}
Error::UnknownType { name, .. }
| Error::UnknownTypeConstructor { name, .. }
| Error::UnknownVariable { name, .. }
| Error::UnknownModule { name, .. } => Some(name.clone()),
}
}
}