From b9c45646d1a695c96c6f6c22587e42216f781774 Mon Sep 17 00:00:00 2001 From: overlookmotel <557937+overlookmotel@users.noreply.github.com> Date: Wed, 18 Sep 2024 11:08:27 +0000 Subject: [PATCH] refactor(transformer): transformer example output semantic + transformer errors (#5852) --- .../oxc_transformer/examples/transformer.rs | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/crates/oxc_transformer/examples/transformer.rs b/crates/oxc_transformer/examples/transformer.rs index faacd9a734226..175205ce7327e 100644 --- a/crates/oxc_transformer/examples/transformer.rs +++ b/crates/oxc_transformer/examples/transformer.rs @@ -38,13 +38,22 @@ fn main() { println!("{source_text}\n"); let mut program = ret.program; + let trivias = ret.trivias; - let (symbols, scopes) = SemanticBuilder::new(&source_text) + let ret = SemanticBuilder::new(&source_text) // Estimate transformer will triple scopes, symbols, references .with_excess_capacity(2.0) - .build(&program) - .semantic - .into_symbol_table_and_scope_tree(); + .build(&program); + + if !ret.errors.is_empty() { + println!("Semantic Errors:"); + for error in ret.errors { + let error = error.with_source_code(source_text.clone()); + println!("{error:?}"); + } + } + + let (symbols, scopes) = ret.semantic.into_symbol_table_and_scope_tree(); let transform_options = if let Some(targets) = &targets { TransformOptions::from_preset_env(&EnvOptions { @@ -56,16 +65,24 @@ fn main() { TransformOptions::enable_all() }; - let _ = Transformer::new( + let ret = Transformer::new( &allocator, path, source_type, &source_text, - ret.trivias.clone(), + trivias.clone(), transform_options, ) .build_with_symbols_and_scopes(symbols, scopes, &mut program); + if !ret.errors.is_empty() { + println!("Transformer Errors:"); + for error in ret.errors { + let error = error.with_source_code(source_text.clone()); + println!("{error:?}"); + } + } + let printed = CodeGenerator::new().build(&program).source_text; println!("Transformed:\n"); println!("{printed}");