Implement simple code action quickfix for unknown variable.

This commit is contained in:
KtorZ
2023-10-20 17:59:18 +02:00
parent c4221730bf
commit 66ade8e3e3
4 changed files with 113 additions and 6 deletions

View File

@@ -78,6 +78,18 @@ impl TypedModule {
.find_map(|definition| definition.find_node(byte_index))
}
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::Use(_) => false,
Definition::ModuleConstant(_) => 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 {