Move module name validation outside of type-checking
And disable it for documentation generation. This way, we can generate documentation for aiken/builtins and aiken (prelude)
This commit is contained in:
@@ -277,7 +277,7 @@ impl Annotated<Schema> {
|
||||
Ok(Annotated {
|
||||
title: Some("Tuple".to_owned()),
|
||||
description: None,
|
||||
annotated: Schema::Data(Some(Data::List(Items::Many(elems)))).into(),
|
||||
annotated: Schema::Data(Some(Data::List(Items::Many(elems)))),
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
@@ -3,7 +3,7 @@ use crate::{
|
||||
script::EvalHint,
|
||||
};
|
||||
use aiken_lang::{
|
||||
ast::{BinOp, Span},
|
||||
ast::{self, BinOp, Span},
|
||||
parser::error::ParseError,
|
||||
tipo,
|
||||
};
|
||||
@@ -54,6 +54,9 @@ pub enum Error {
|
||||
#[error(transparent)]
|
||||
Json(#[from] serde_json::Error),
|
||||
|
||||
#[error(transparent)]
|
||||
Module(#[from] ast::Error),
|
||||
|
||||
#[error("{help}")]
|
||||
TomlLoading {
|
||||
path: PathBuf,
|
||||
@@ -189,6 +192,7 @@ impl GetSource for Error {
|
||||
Error::MalformedStakeAddress { .. } => None,
|
||||
Error::NoValidatorNotFound { .. } => None,
|
||||
Error::MoreThanOneValidatorFound { .. } => None,
|
||||
Error::Module { .. } => None,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,6 +217,7 @@ impl GetSource for Error {
|
||||
Error::MalformedStakeAddress { .. } => None,
|
||||
Error::NoValidatorNotFound { .. } => None,
|
||||
Error::MoreThanOneValidatorFound { .. } => None,
|
||||
Error::Module { .. } => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -246,6 +251,7 @@ impl Diagnostic for Error {
|
||||
Error::MalformedStakeAddress { .. } => None,
|
||||
Error::NoValidatorNotFound { .. } => None,
|
||||
Error::MoreThanOneValidatorFound { .. } => None,
|
||||
Error::Module(e) => e.code(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -317,6 +323,7 @@ impl Diagnostic for Error {
|
||||
known_validators.iter().map(|title| format!("→ {title}", title = title.purple().bold())).collect::<Vec<String>>().join("\n")
|
||||
)))
|
||||
},
|
||||
Error::Module(e) => e.help(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -349,6 +356,7 @@ impl Diagnostic for Error {
|
||||
Error::MalformedStakeAddress { .. } => None,
|
||||
Error::NoValidatorNotFound { .. } => None,
|
||||
Error::MoreThanOneValidatorFound { .. } => None,
|
||||
Error::Module(e) => e.labels(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -373,6 +381,7 @@ impl Diagnostic for Error {
|
||||
Error::MalformedStakeAddress { .. } => None,
|
||||
Error::NoValidatorNotFound { .. } => None,
|
||||
Error::MoreThanOneValidatorFound { .. } => None,
|
||||
Error::Module(e) => e.source_code(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,6 +406,7 @@ impl Diagnostic for Error {
|
||||
Error::MalformedStakeAddress { .. } => None,
|
||||
Error::NoValidatorNotFound { .. } => None,
|
||||
Error::MoreThanOneValidatorFound { .. } => None,
|
||||
Error::Module(e) => e.url(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -421,6 +431,7 @@ impl Diagnostic for Error {
|
||||
Error::MalformedStakeAddress { .. } => None,
|
||||
Error::NoValidatorNotFound { .. } => None,
|
||||
Error::MoreThanOneValidatorFound { .. } => None,
|
||||
Error::Module(e) => e.related(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,7 +166,7 @@ where
|
||||
|
||||
let parsed_modules = self.parse_sources(self.config.name.clone())?;
|
||||
|
||||
self.type_check(parsed_modules, Tracing::NoTraces)?;
|
||||
self.type_check(parsed_modules, Tracing::NoTraces, false)?;
|
||||
|
||||
self.event_listener.handle_event(Event::GeneratingDocFiles {
|
||||
output_path: destination.clone(),
|
||||
@@ -247,7 +247,7 @@ where
|
||||
|
||||
let parsed_modules = self.parse_sources(self.config.name.clone())?;
|
||||
|
||||
self.type_check(parsed_modules, options.tracing)?;
|
||||
self.type_check(parsed_modules, options.tracing, true)?;
|
||||
|
||||
match options.code_gen_mode {
|
||||
CodeGenMode::Build(uplc_dump) => {
|
||||
@@ -432,7 +432,7 @@ where
|
||||
|
||||
let parsed_modules = self.parse_sources(package.name)?;
|
||||
|
||||
self.type_check(parsed_modules, Tracing::NoTraces)?;
|
||||
self.type_check(parsed_modules, Tracing::NoTraces, true)?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
@@ -518,6 +518,7 @@ where
|
||||
&mut self,
|
||||
mut parsed_modules: ParsedModules,
|
||||
tracing: Tracing,
|
||||
validate_module_name: bool,
|
||||
) -> Result<(), Error> {
|
||||
let processing_sequence = parsed_modules.sequence()?;
|
||||
|
||||
@@ -550,6 +551,10 @@ where
|
||||
error,
|
||||
})?;
|
||||
|
||||
if validate_module_name {
|
||||
ast.validate_module_name()?;
|
||||
}
|
||||
|
||||
// Register any warnings emitted as type warnings
|
||||
let type_warnings = type_warnings
|
||||
.into_iter()
|
||||
|
||||
Reference in New Issue
Block a user