Add quickfix for unknown constructors.

This commit is contained in:
KtorZ
2023-10-21 14:24:47 +02:00
parent f6eff7ec58
commit c0513da032
3 changed files with 48 additions and 13 deletions

View File

@@ -90,6 +90,22 @@ impl TypedModule {
})
}
pub fn has_constructor(&self, name: &str) -> bool {
self.definitions.iter().any(|def| match def {
Definition::DataType(t) if t.public && !t.opaque => t
.constructors
.iter()
.any(|constructor| constructor.name == name),
Definition::DataType(_) => false,
Definition::Fn(_) => false,
Definition::TypeAlias(_) => false,
Definition::ModuleConstant(_) => false,
Definition::Use(_) => false,
Definition::Test(_) => false,
Definition::Validator(_) => false,
})
}
pub fn validate_module_name(&self) -> Result<(), Error> {
if self.name == "aiken" || self.name == "aiken/builtin" {
return Err(Error::ReservedModuleName {