use unsynn::*;
use crate::{code_generation::generate_code, parser::{UnvalidatedAst, rust_analyzer_friendly::friendly_error}};
pub(crate) fn floop(tokens: TokenStream) -> TokenStream {
let ast = match UnvalidatedAst::parse_all(&mut tokens.clone().to_token_iter()) {
Ok(ast) => ast,
Err(err) => {
return friendly_error(tokens, err);
}
};
let ast = match ast.validated() {
Ok(ast) => ast,
Err(err) => return friendly_error(tokens, err),
};
generate_code(ast)
}