fix(coverage): correctly check semantic data after transform (#5035)

closes #4999
This commit is contained in:
Boshen 2024-08-21 09:35:04 +00:00
parent bcc8da96ae
commit 1bd9365bd0
10 changed files with 8710 additions and 4552 deletions

View file

@ -16,21 +16,22 @@ use crate::{ScopeTree, SemanticBuilder, SymbolTable};
#[derive(Default)]
pub struct PostTransformChecker {
errors: Vec<OxcDiagnostic>,
previous_collect: SemanticCollector,
collect_after_transform: SemanticCollector,
}
impl PostTransformChecker {
pub fn before_transform(&mut self, program: &Program<'_>) -> Option<Vec<OxcDiagnostic>> {
self.previous_collect.check(program)
}
pub fn after_transform(
&mut self,
previous_symbols: &SymbolTable,
previous_scopes: &ScopeTree,
symbols_after_transform: &SymbolTable,
scopes_after_transform: &ScopeTree,
program: &Program<'_>,
) -> Option<Vec<OxcDiagnostic>> {
let mut current_collect = SemanticCollector::default();
self.collect_after_transform = SemanticCollector::default();
if let Some(errors) = self.collect_after_transform.check(program) {
self.errors.push(OxcDiagnostic::error("Semantic Collector failed after transform"));
self.errors.extend(errors);
return Some(mem::take(&mut self.errors));
}
let allocator = Allocator::default();
let program = program.clone_in(&allocator);
@ -39,25 +40,33 @@ impl PostTransformChecker {
.semantic
.into_symbol_table_and_scope_tree();
if let Some(errors) = current_collect.check(&program) {
return Some(errors);
let mut collect_new = SemanticCollector::default();
if let Some(errors) = collect_new.check(&program) {
self.errors.push(OxcDiagnostic::error("Semantic Collector failed after rebuild"));
self.errors.extend(errors);
return Some(mem::take(&mut self.errors));
}
let errors_count = self.errors.len();
self.check_bindings(previous_symbols, previous_scopes, &current_collect, &current_scopes);
self.check_bindings(
symbols_after_transform,
scopes_after_transform,
&collect_new,
&current_scopes,
);
self.check_symbols(
previous_symbols,
previous_scopes,
&current_collect,
symbols_after_transform,
scopes_after_transform,
&collect_new,
&current_symbols,
&current_scopes,
);
self.check_references(
previous_symbols,
previous_scopes,
&current_collect,
symbols_after_transform,
scopes_after_transform,
&collect_new,
&current_symbols,
&current_scopes,
);
@ -72,14 +81,14 @@ impl PostTransformChecker {
current_collect: &SemanticCollector,
current_scopes: &ScopeTree,
) {
if self.previous_collect.scope_ids.len() != current_collect.scope_ids.len() {
if self.collect_after_transform.scope_ids.len() != current_collect.scope_ids.len() {
self.errors.push(OxcDiagnostic::error("Scopes mismatch after transform"));
return;
}
// Check whether bindings are the same for scopes in the same visitation order.
for (prev_scope_id, cur_scope_id) in
self.previous_collect.scope_ids.iter().zip(current_collect.scope_ids.iter())
self.collect_after_transform.scope_ids.iter().zip(current_collect.scope_ids.iter())
{
let mut prev_bindings =
previous_scopes.get_bindings(*prev_scope_id).keys().cloned().collect::<Vec<_>>();
@ -126,14 +135,14 @@ current scope {cur_scope_id:?}: {current_bindings:?}
}
}
if self.previous_collect.symbol_ids.len() != current_collect.symbol_ids.len() {
if self.collect_after_transform.symbol_ids.len() != current_collect.symbol_ids.len() {
self.errors.push(OxcDiagnostic::error("Symbols mismatch after transform"));
return;
}
// Check whether symbols match
for (prev_symbol_id, cur_symbol_id) in
self.previous_collect.symbol_ids.iter().zip(current_collect.symbol_ids.iter())
self.collect_after_transform.symbol_ids.iter().zip(current_collect.symbol_ids.iter())
{
let prev_symbol_name = &previous_symbols.names[*prev_symbol_id];
let cur_symbol_name = &current_symbols.names[*cur_symbol_id];
@ -168,14 +177,17 @@ current symbol {cur_symbol_id:?}: {cur_symbol_id:?}
}
}
if self.previous_collect.reference_ids.len() != current_collect.reference_ids.len() {
if self.collect_after_transform.reference_ids.len() != current_collect.reference_ids.len() {
self.errors.push(OxcDiagnostic::error("ReferenceId mismatch after transform"));
return;
}
// Check whether symbols match
for (prev_reference_id, cur_reference_id) in
self.previous_collect.reference_ids.iter().zip(current_collect.reference_ids.iter())
for (prev_reference_id, cur_reference_id) in self
.collect_after_transform
.reference_ids
.iter()
.zip(current_collect.reference_ids.iter())
{
let prev_symbol_id = previous_symbols.references[*prev_reference_id].symbol_id();
let prev_symbol_name = prev_symbol_id.map(|id| previous_symbols.names[id].clone());
@ -196,7 +208,7 @@ current reference {cur_reference_id:?}: {cur_symbol_name:?}
}
#[derive(Default)]
struct SemanticCollector {
pub struct SemanticCollector {
scope_ids: Vec<ScopeId>,
symbol_ids: Vec<SymbolId>,
reference_ids: Vec<ReferenceId>,
@ -215,7 +227,8 @@ impl<'a> Visit<'a> for SemanticCollector {
if let Some(reference_id) = ident.reference_id.get() {
self.reference_ids.push(reference_id);
} else {
self.errors.push(OxcDiagnostic::error("Missing ReferenceId").with_label(ident.span));
let message = format!("Missing ReferenceId: {}", ident.name);
self.errors.push(OxcDiagnostic::error(message).with_label(ident.span));
}
}
@ -223,7 +236,8 @@ impl<'a> Visit<'a> for SemanticCollector {
if let Some(symbol_id) = ident.symbol_id.get() {
self.symbol_ids.push(symbol_id);
} else {
self.errors.push(OxcDiagnostic::error("Missing SymbolId").with_label(ident.span));
let message = format!("Missing SymbolId: {}", ident.name);
self.errors.push(OxcDiagnostic::error(message).with_label(ident.span));
}
}

View file

@ -2,18 +2,16 @@ commit: 12619ffe
semantic_babel Summary:
AST Parsed : 2101/2101 (100.00%)
Positive Passed: 1813/2101 (86.29%)
Positive Passed: 1853/2101 (88.20%)
tasks/coverage/babel/packages/babel-parser/test/fixtures/comments/interpreter-directive/interpreter-directive-import/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["spawn"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/comments/regression/10892/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/core/opts/allowNewTargetOutsideFunction-true/input.js
semantic error: Unexpected new.target expression
@ -29,216 +27,161 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015/modules/import-d
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["Foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015/uncategorised/301/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["bar", "foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015/uncategorised/92/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["$"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015/uncategorised/93/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["decrypt", "encrypt"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015/uncategorised/94/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["enc"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015/uncategorised/95/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["crypto", "decrypt", "enc"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015/uncategorised/97/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["nil"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/es2015/uncategorised/98/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["crypto"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-default/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-default-and-named-specifiers/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["bar", "foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-default-and-namespace-specifiers/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["bar", "foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-default-as/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-jquery/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["$"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-named-as-specifier/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["baz"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-named-as-specifiers/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["baz", "xyz"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-named-specifier/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["bar"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-named-specifiers/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["bar", "baz"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-named-specifiers-comma/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["bar", "baz"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-namespace-specifier/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/esprima/es2015-import-declaration/import-null-as-nil/input.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["nil"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/async-await-null/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T"]
current scope ScopeId(1): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/async-await-null-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T"]
current scope ScopeId(1): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/async-generic-after-await/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(2): ["T"]
current scope ScopeId(2): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/async-generic-after-await-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(2): ["T"]
current scope ScopeId(2): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/async-generic-tokens-true/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "a"]
current scope ScopeId(1): ["a"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/async-generic-tokens-true-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "a"]
current scope ScopeId(1): ["a"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/generic/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "a"]
current scope ScopeId(1): ["a"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/generic-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "a"]
current scope ScopeId(1): ["a"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/arrow-function/generic-tsx-babel-7/input.ts
semantic error: Expected `<` but found `EOF`
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/assign/TSTypeParameterInstantiation/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["M"]
current scope ScopeId(1): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/assign/TSTypeParameterInstantiation-babel-7/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/abstract/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/accessor/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/async-named-properties/input.ts
semantic error: Scopes mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/async-optional-method/input.js
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/constructor/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["M"]
current scope ScopeId(1): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/constructor-with-modifier-names/input.ts
semantic error: Multiple constructor implementations are not allowed.
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/constructor-with-override-modifer-names/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/declare/input.ts
semantic error: Identifier `x` has already been declared
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/declare-readonly-field-initializer/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/expression-extends-implements/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/expression-generic/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T"]
@ -246,7 +189,6 @@ current scope ScopeId(1): []
Bindings Mismatch:
previous scope ScopeId(2): ["C", "T"]
current scope ScopeId(2): ["C"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/expression-generic-babel-7/input.ts
semantic error: Bindings Mismatch:
@ -255,43 +197,16 @@ current scope ScopeId(1): []
Bindings Mismatch:
previous scope ScopeId(2): ["C", "T"]
current scope ScopeId(2): ["C"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/expression-implements/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/extends-implements/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/generic/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T"]
current scope ScopeId(1): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/generic-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T"]
current scope ScopeId(1): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/implements/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/members-with-modifier-names/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/members-with-modifier-names-babel-7/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/members-with-reserved-names/input.ts
semantic error: Scopes mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/method-computed/input.ts
semantic error: Scopes mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/method-generic/input.ts
semantic error: Bindings Mismatch:
@ -300,7 +215,6 @@ current scope ScopeId(2): ["a", "b", "c"]
Bindings Mismatch:
previous scope ScopeId(3): ["T"]
current scope ScopeId(3): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/method-generic-babel-7/input.ts
semantic error: Bindings Mismatch:
@ -309,7 +223,6 @@ current scope ScopeId(2): ["a", "b", "c"]
Bindings Mismatch:
previous scope ScopeId(3): ["T"]
current scope ScopeId(3): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/method-modifier-name-with-type-parameters/input.ts
semantic error: Bindings Mismatch:
@ -333,7 +246,6 @@ current scope ScopeId(7): []
Bindings Mismatch:
previous scope ScopeId(8): ["T"]
current scope ScopeId(8): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/method-modifier-name-with-type-parameters-babel-7/input.ts
semantic error: Bindings Mismatch:
@ -357,37 +269,14 @@ current scope ScopeId(7): []
Bindings Mismatch:
previous scope ScopeId(8): ["T"]
current scope ScopeId(8): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/method-no-body/input.ts
semantic error: Scopes mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/method-with-newline-without-body/input.ts
semantic error: Scopes mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/modifiers-accessors/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/modifiers-methods-async/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/modifiers-override/input.ts
semantic error: Identifier `show` has already been declared
Identifier `size` has already been declared
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/modifiers-properties/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/parameter-properties/input.ts
semantic error: A required parameter cannot follow an optional parameter.
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/private-method-overload/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/properties/input.ts
semantic error: Identifier `x` has already been declared
Identifier `x` has already been declared
@ -395,9 +284,6 @@ Identifier `x` has already been declared
Identifier `x` has already been declared
Identifier `x` has already been declared
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/class/static/input.ts
semantic error: Scopes mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/const/initializer-ambient-context/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["N"]
@ -462,7 +348,6 @@ current scope ScopeId(3): ["x"]
Bindings Mismatch:
previous scope ScopeId(4): ["T", "x"]
current scope ScopeId(4): ["x"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/disallow-jsx-ambiguity/type-parameter-unambiguous-babel-7/input.ts
semantic error: Bindings Mismatch:
@ -477,12 +362,6 @@ current scope ScopeId(3): ["x"]
Bindings Mismatch:
previous scope ScopeId(4): ["T", "x"]
current scope ScopeId(4): ["x"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/const/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/declare/input.ts
semantic error: Bindings Mismatch:
@ -499,45 +378,35 @@ semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["E"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/export/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/export-const/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/export-declare-const/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["E"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["A", "B", "E"]
current scope ScopeId(1): ["E"]
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-reserved-words/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["E", "const", "default"]
current scope ScopeId(1): ["E"]
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-strings/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["E", "bar", "foo"]
current scope ScopeId(1): ["E"]
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-trailing-comma/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["A", "E"]
current scope ScopeId(1): ["E"]
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/enum/members-trailing-comma-with-initializer/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["A", "E"]
current scope ScopeId(1): ["E"]
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/estree-compat/shorthand-ambient-module/input.ts
semantic error: Bindings Mismatch:
@ -561,7 +430,6 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/export/expor
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A"]
current scope ScopeId(0): []
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/export/export-type-declaration/input.ts
semantic error: Bindings Mismatch:
@ -569,61 +437,58 @@ previous scope ScopeId(0): ["A", "B", "b"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/export/export-value-declaration/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["C", "D", "E", "a", "b"]
current scope ScopeId(0): ["C", "D", "a", "b"]
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/export/nested-same-name/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Semantic Collector failed after transform
Missing SymbolId: N
Missing SymbolId: _N
Missing ReferenceId: _N
Missing ReferenceId: N
Missing ReferenceId: N
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/annotated/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "x"]
current scope ScopeId(1): ["x"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/annotated-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "x"]
current scope ScopeId(1): ["x"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/anonymous/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "x"]
current scope ScopeId(1): ["x"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/anonymous-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "x"]
current scope ScopeId(1): ["x"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/anonymous-generator/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "input"]
current scope ScopeId(1): ["input"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/anonymous-generator-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "input"]
current scope ScopeId(1): ["input"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/function/declare-pattern-parameters/input.ts
semantic error: A required parameter cannot follow an optional parameter.
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/equals/input.ts
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Semantic Collector failed after transform
Missing SymbolId: A
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/equals-in-unambiguous/input.ts
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Semantic Collector failed after transform
Missing SymbolId: A
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/equals-require/input.ts
semantic error: `import lib = require(...);` is only supported when compiling modules to CommonJS.
@ -634,8 +499,8 @@ semantic error: `import lib = require(...);` is only supported when compiling mo
Please consider using `import lib from '...';` alongside Typescript's --allowSyntheticDefaultImports option, or add @babel/plugin-transform-modules-commonjs to your Babel config.
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/export-import/input.ts
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Semantic Collector failed after transform
Missing SymbolId: A
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/export-import-require/input.ts
semantic error: `import lib = require(...);` is only supported when compiling modules to CommonJS.
@ -658,25 +523,21 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/impor
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["bar", "type"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/import-default-id-type/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["type"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/import-named/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/import-star-as/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["a"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/import-type-as-identifier/input.ts
semantic error: `import lib = require(...);` is only supported when compiling modules to CommonJS.
@ -686,7 +547,6 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/inter
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A", "C", "D", "foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/import/not-top-level/input.ts
semantic error: Bindings Mismatch:
@ -724,8 +584,9 @@ previous scope ScopeId(0): ["I"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/interface/export/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A", "I"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/interface/extends/input.ts
semantic error: Bindings Mismatch:
@ -891,9 +752,11 @@ previous scope ScopeId(0): ["Comma", "Newline", "Semi"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/module-namespace/body/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Semantic Collector failed after transform
Missing SymbolId: N
Missing SymbolId: _N
Missing ReferenceId: N
Missing ReferenceId: N
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/module-namespace/body-declare/input.ts
semantic error: Bindings Mismatch:
@ -942,7 +805,6 @@ current scope ScopeId(2): []
Bindings Mismatch:
previous scope ScopeId(3): ["T"]
current scope ScopeId(3): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/regression/async-arrow-generic-9560-babel-7/input.ts
semantic error: Bindings Mismatch:
@ -951,7 +813,6 @@ current scope ScopeId(2): []
Bindings Mismatch:
previous scope ScopeId(3): ["T"]
current scope ScopeId(3): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/regression/destructuring-in-function-type/input.ts
semantic error: Bindings Mismatch:
@ -964,9 +825,9 @@ previous scope ScopeId(0): ["AnotherType", "MyType"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/regression/is-default-export/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["E", "I", "T"]
current scope ScopeId(0): ["E"]
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/regression/issue-7742/input.ts
semantic error: Bindings Mismatch:
@ -1004,27 +865,6 @@ semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["Equals"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/enum-block-scoped/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-declare-function-after/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-declare-function-before/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-enum-after/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-enum-before/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-func-in-declare-module/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["m2"]
@ -1039,31 +879,26 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A"]
current scope ScopeId(0): []
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-interface-before/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A"]
current scope ScopeId(0): []
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-namespace/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["N"]
current scope ScopeId(0): []
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-type-after/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A"]
current scope ScopeId(0): []
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/export-type-before/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A"]
current scope ScopeId(0): []
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/module-declaration-var/input.js
semantic error: Bindings Mismatch:
@ -1073,46 +908,19 @@ current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/module-declaration-var-2/input.js
semantic error: Namespaces exporting non-const are not supported by Babel. Change to const or see: https://babeljs.io/docs/en/babel-plugin-transform-typescript
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-constenum-constenum/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-enum-enum/input.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-import-ambient-class/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["Something"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-import-equals-var/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["M", "a"]
current scope ScopeId(0): ["a"]
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-import-let/input.ts
semantic error: Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-import-type-let/input.ts
semantic error: Symbols mismatch after transform
semantic error: Semantic Collector failed after transform
Missing SymbolId: a
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-import-type-type/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["Global", "a"]
current scope ScopeId(0): ["a"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-import-type-var/input.ts
semantic error: Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-import-var/input.ts
semantic error: Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-in-different-module/input.ts
semantic error: Bindings Mismatch:
@ -1123,8 +931,6 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redecl
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["JSONSchema7", "T", "foo", "fooBar", "test/submodule", "test/submodule2"]
current scope ScopeId(0): ["foo", "fooBar"]
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/scope/redeclaration-in-nested-module/input.ts
semantic error: Bindings Mismatch:
@ -1140,21 +946,11 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/tsx/anonymou
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "input"]
current scope ScopeId(1): ["input"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/tsx/anonymous-function-generator-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "input"]
current scope ScopeId(1): ["input"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/tsx/assignment-in-conditional-expression/input.ts
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/tsx/brace-is-block/input.tsx
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/tsx/type-arguments/input.ts
semantic error: Bindings Mismatch:
@ -1210,23 +1006,16 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-argumen
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["C", "C1", "C2", "C3", "C4", "I", "bar", "x10", "x11", "x12", "x13", "x14", "x5", "x6", "yy"]
current scope ScopeId(0): ["C", "C1", "C2", "C3", "C4", "bar", "x10", "x11", "x12", "x13", "x14", "x5", "x6", "yy"]
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-arguments/tsx/input.ts
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-arguments/whitespace/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T"]
current scope ScopeId(1): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-arguments/whitespace-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T"]
current scope ScopeId(1): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-arguments-bit-shift-left-like/call-expression/input.ts
semantic error: Bindings Mismatch:
@ -1270,51 +1059,40 @@ semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["T"]
current scope ScopeId(0): []
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-only-import-export-specifiers/export-type-only-as-as-keyword/input.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-only-import-export-specifiers/import-basic/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A", "B", "C"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-only-import-export-specifiers/import-named-and-named-type/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["Component", "ComponentProps"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-only-import-export-specifiers/import-named-type/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["type"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-only-import-export-specifiers/import-named-type-as-as/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["as"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-only-import-export-specifiers/import-type-only-and-export/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["Foo1"]
current scope ScopeId(0): []
Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-only-import-export-specifiers/import-type-only-named-as/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["as"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/type-only-import-export-specifiers/import-type-only-named-keywords-as/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["a", "b"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/types/conditional-infer/input.ts
semantic error: Bindings Mismatch:
@ -1348,7 +1126,6 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/types/import
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["A", "B", "T", "Types"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/types/infer-with-constraints/input.ts
semantic error: Bindings Mismatch:
@ -1412,13 +1189,11 @@ tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/types/object
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "value"]
current scope ScopeId(1): ["value"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/types/object-shorthand-babel-7/input.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T", "value"]
current scope ScopeId(1): ["value"]
Symbols mismatch after transform
tasks/coverage/babel/packages/babel-parser/test/fixtures/typescript/types/parenthesized/input.ts
semantic error: Bindings Mismatch:

View file

@ -1,21 +1,15 @@
semantic_misc Summary:
AST Parsed : 25/25 (100.00%)
Positive Passed: 11/25 (44.00%)
Positive Passed: 16/25 (64.00%)
tasks/coverage/misc/pass/oxc-1288.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["from"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/misc/pass/oxc-1289.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["infer", "target", "type"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/misc/pass/oxc-1740.tsx
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/misc/pass/oxc-2087.ts
semantic error: Bindings Mismatch:
@ -32,17 +26,6 @@ semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["Foo"]
current scope ScopeId(0): []
tasks/coverage/misc/pass/oxc-2674.tsx
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/misc/pass/oxc-2723.jsx
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform
tasks/coverage/misc/pass/oxc-2948-2.ts
semantic error: ReferenceId mismatch after transform
tasks/coverage/misc/pass/oxc-3443.tsx
semantic error: Bindings Mismatch:
previous scope ScopeId(1): ["T"]
@ -50,25 +33,28 @@ current scope ScopeId(1): []
Bindings Mismatch:
previous scope ScopeId(2): ["T"]
current scope ScopeId(2): []
Symbols mismatch after transform
tasks/coverage/misc/pass/oxc-3948-1.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["BrowserWorkingCopyBackupTracker", "CancellationToken", "DisposableStore", "EditorPart", "EditorService", "IEditorGroupsService", "IEditorService", "IFilesConfigurationService", "IInstantiationService", "ILifecycleService", "ILogService", "IUntitledTextResourceEditorInput", "IWorkingCopyBackup", "IWorkingCopyBackupService", "IWorkingCopyEditorHandler", "IWorkingCopyEditorService", "IWorkingCopyService", "InMemoryTestWorkingCopyBackupService", "LifecyclePhase", "Schemas", "TestServiceAccessor", "TestWorkingCopy", "URI", "UntitledTextEditorInput", "VSBuffer", "assert", "bufferToReadable", "createEditorPart", "ensureNoDisposablesAreLeakedInTestSuite", "isWindows", "registerTestResourceEditor", "timeout", "toResource", "toTypedWorkingCopyId", "toUntypedWorkingCopyId", "workbenchInstantiationService", "workbenchTeardown"]
current scope ScopeId(0): ["BrowserWorkingCopyBackupTracker", "DisposableStore", "EditorService", "IEditorGroupsService", "IEditorService", "IFilesConfigurationService", "ILifecycleService", "ILogService", "IWorkingCopyBackupService", "IWorkingCopyEditorService", "IWorkingCopyService", "InMemoryTestWorkingCopyBackupService", "LifecyclePhase", "Schemas", "TestServiceAccessor", "TestWorkingCopy", "URI", "UntitledTextEditorInput", "VSBuffer", "assert", "bufferToReadable", "createEditorPart", "ensureNoDisposablesAreLeakedInTestSuite", "isWindows", "registerTestResourceEditor", "timeout", "toResource", "toTypedWorkingCopyId", "toUntypedWorkingCopyId", "workbenchInstantiationService", "workbenchTeardown"]
Symbols mismatch after transform
tasks/coverage/misc/pass/oxc-4449.ts
semantic error: Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
semantic error: Bindings Mismatch:
previous scope ScopeId(5): ["E", "baz"]
current scope ScopeId(5): ["E"]
Bindings Mismatch:
previous scope ScopeId(6): ["F", "baz"]
current scope ScopeId(6): ["F"]
Bindings Mismatch:
previous scope ScopeId(7): ["G", "baz"]
current scope ScopeId(7): ["G"]
Bindings Mismatch:
previous scope ScopeId(8): ["H", "baz"]
current scope ScopeId(8): ["H"]
tasks/coverage/misc/pass/swc-7187.ts
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["K"]
current scope ScopeId(0): []
tasks/coverage/misc/pass/swc-8243.tsx
semantic error: Symbols mismatch after transform
ReferenceId mismatch after transform

View file

@ -7,143 +7,119 @@ tasks/coverage/test262/test/language/module-code/eval-rqstd-once.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["dflt1", "dflt2", "dflt3", "global", "ns1", "ns3"]
current scope ScopeId(0): ["global"]
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/eval-rqstd-order.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["dflt1", "dflt2", "dflt3", "ns1", "ns2"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/eval-self-once.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["dflt1", "dflt2", "dflt3", "global", "ns", "ns1"]
current scope ScopeId(0): ["global"]
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-assertions/import-assertion-many.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-assertions/import-assertion-trlng-comma.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-assertions/import-assertion-value-string-double.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-assertions/import-assertion-value-string-single.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-attributes/allow-nlt-before-with.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-attributes/import-attribute-many.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-attributes/import-attribute-trlng-comma.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-attributes/import-attribute-value-string-double.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/import-attributes/import-attribute-value-string-single.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-named-err-ambiguous-as.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["y"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-named-err-ambiguous.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-named-err-dflt-thru-star-as.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-named-err-dflt-thru-star-dflt.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-named-err-not-found-as.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["y"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-named-err-not-found-dflt.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-named-err-not-found.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["x"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-once.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["dflt1", "dflt2", "dflt3", "ns", "ns1", "x"]
current scope ScopeId(0): ["x"]
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/instn-star-err-not-found.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["ns"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/top-level-await/module-import-rejection-body.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/top-level-await/module-import-rejection-tick.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["foo"]
current scope ScopeId(0): []
Symbols mismatch after transform
tasks/coverage/test262/test/language/module-code/top-level-await/module-import-rejection.js
semantic error: Bindings Mismatch:
previous scope ScopeId(0): ["resolved"]
current scope ScopeId(0): []
Symbols mismatch after transform

File diff suppressed because one or more lines are too long

View file

@ -8,7 +8,10 @@ use oxc::codegen::CodegenOptions;
use oxc::diagnostics::OxcDiagnostic;
use oxc::minifier::CompressOptions;
use oxc::parser::{ParseOptions, ParserReturn};
use oxc::semantic::{post_transform_checker::PostTransformChecker, SemanticBuilderReturn};
use oxc::semantic::{
post_transform_checker::{PostTransformChecker, SemanticCollector},
SemanticBuilderReturn,
};
use oxc::span::{SourceType, Span};
use oxc::transformer::{TransformOptions, TransformerReturn};
@ -75,7 +78,7 @@ impl CompilerInterface for Driver {
_semantic_return: &mut SemanticBuilderReturn,
) -> ControlFlow<()> {
if self.check_semantic {
if let Some(errors) = self.checker.before_transform(program) {
if let Some(errors) = SemanticCollector::default().check(program) {
self.errors.extend(errors);
return ControlFlow::Break(());
}

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
commit: 12619ffe
Passed: 4/35
Passed: 9/35
# All Passed:
@ -8,142 +8,599 @@ Passed: 4/35
# babel-plugin-transform-optional-catch-binding (0/1)
* try-catch-shadow/input.js
Scopes mismatch after transform
Symbols mismatch after transform
x Scopes mismatch after transform
# babel-plugin-transform-typescript (1/7)
* class-constructor-arguments/input.ts
ReferenceId mismatch after transform
# babel-plugin-transform-typescript (3/7)
* computed-constant-value/input.ts
Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
x Semantic Collector failed after transform
x Missing ReferenceId: Infinity
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/computed-constant-value/input.ts:1:1]
1 | enum A {
: ^
2 | a = Infinity,
`----
x Missing ReferenceId: Infinity
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/computed-constant-value/input.ts:1:1]
1 | enum A {
: ^
2 | a = Infinity,
`----
x Missing ReferenceId: Infinity
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/computed-constant-value/input.ts:1:1]
1 | enum A {
: ^
2 | a = Infinity,
`----
x Missing ReferenceId: Infinity
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/computed-constant-value/input.ts:1:1]
1 | enum A {
: ^
2 | a = Infinity,
`----
* elimination-declare/input.ts
Bindings Mismatch:
previous scope ScopeId(0): ["A", "ReactiveMarkerSymbol"]
current scope ScopeId(0): []
x Bindings Mismatch:
| previous scope ScopeId(0): ["A", "ReactiveMarkerSymbol"]
| current scope ScopeId(0): []
* enum-member-reference/input.ts
Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
x Semantic Collector failed after transform
x Missing ReferenceId: Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-member-reference/input.ts:1:1]
1 | var x = 10;
: ^
2 |
`----
* export-elimination/input.ts
Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
x Semantic Collector failed after transform
* redeclarations/input.ts
Symbols mismatch after transform
x Missing SymbolId: Name
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/export-elimination/input.ts:1:1]
1 | import Im, {Ok} from 'a';
: ^
2 | class Foo {}
`----
x Missing SymbolId: _Name
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/export-elimination/input.ts:1:1]
1 | import Im, {Ok} from 'a';
: ^
2 | class Foo {}
`----
x Missing ReferenceId: _Name
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/export-elimination/input.ts:1:1]
1 | import Im, {Ok} from 'a';
: ^
2 | class Foo {}
`----
x Missing ReferenceId: Name
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/export-elimination/input.ts:1:1]
1 | import Im, {Ok} from 'a';
: ^
2 | class Foo {}
`----
x Missing ReferenceId: Name
,-[tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/export-elimination/input.ts:1:1]
1 | import Im, {Ok} from 'a';
: ^
2 | class Foo {}
`----
# babel-plugin-transform-react-jsx (3/27)
# babel-plugin-transform-react-jsx (6/27)
* refresh/can-handle-implicit-arrow-returns/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(23): Some("_s")
| current reference ReferenceId(0): None
x reference Mismatch:
| previous reference ReferenceId(26): Some("_s2")
| current reference ReferenceId(1): None
x reference Mismatch:
| previous reference ReferenceId(29): Some("_s3")
| current reference ReferenceId(2): None
x reference Mismatch:
| previous reference ReferenceId(33): Some("_s4")
| current reference ReferenceId(3): None
x reference Mismatch:
| previous reference ReferenceId(37): Some("_s5")
| current reference ReferenceId(4): None
x reference Mismatch:
| previous reference ReferenceId(41): Some("_s6")
| current reference ReferenceId(5): None
x reference Mismatch:
| previous reference ReferenceId(45): Some("_c")
| current reference ReferenceId(45): None
x reference Mismatch:
| previous reference ReferenceId(47): Some("_c2")
| current reference ReferenceId(47): None
x reference Mismatch:
| previous reference ReferenceId(49): Some("_c3")
| current reference ReferenceId(49): None
x reference Mismatch:
| previous reference ReferenceId(51): Some("_c4")
| current reference ReferenceId(51): None
x reference Mismatch:
| previous reference ReferenceId(53): Some("_c5")
| current reference ReferenceId(53): None
* refresh/does-not-consider-require-like-methods-to-be-hocs/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(21): Some("_c")
| current reference ReferenceId(17): None
* refresh/does-not-get-tripped-by-iifes/input.jsx
Bindings Mismatch:
previous scope ScopeId(0): []
current scope ScopeId(0): ["_s"]
Bindings Mismatch:
previous scope ScopeId(1): ["_s"]
current scope ScopeId(1): []
Symbols mismatch after transform
ReferenceId mismatch after transform
x Bindings Mismatch:
| previous scope ScopeId(0): []
| current scope ScopeId(0): ["_s"]
x Bindings Mismatch:
| previous scope ScopeId(1): ["_s"]
| current scope ScopeId(1): []
x reference Mismatch:
| previous reference ReferenceId(3): Some("_s")
| current reference ReferenceId(1): None
* refresh/generates-signatures-for-function-declarations-calling-hooks/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(6): Some("_s")
| current reference ReferenceId(0): None
x reference Mismatch:
| previous reference ReferenceId(10): Some("_c")
| current reference ReferenceId(10): None
* refresh/generates-signatures-for-function-expressions-calling-hooks/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(26): Some("_s")
| current reference ReferenceId(0): None
x reference Mismatch:
| previous reference ReferenceId(32): Some("_s2")
| current reference ReferenceId(1): None
x reference Mismatch:
| previous reference ReferenceId(38): Some("_s3")
| current reference ReferenceId(32): None
x reference Mismatch:
| previous reference ReferenceId(41): Some("_c")
| current reference ReferenceId(41): None
x reference Mismatch:
| previous reference ReferenceId(43): Some("_c2")
| current reference ReferenceId(43): None
x reference Mismatch:
| previous reference ReferenceId(45): Some("_c3")
| current reference ReferenceId(45): None
x reference Mismatch:
| previous reference ReferenceId(47): Some("_c4")
| current reference ReferenceId(47): None
x reference Mismatch:
| previous reference ReferenceId(49): Some("_c5")
| current reference ReferenceId(49): None
x reference Mismatch:
| previous reference ReferenceId(51): Some("_c6")
| current reference ReferenceId(51): None
* refresh/generates-valid-signature-for-exotic-ways-to-call-hooks/input.jsx
Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
x Scopes mismatch after transform
* refresh/ignores-complex-definitions/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(17): Some("_s2")
| current reference ReferenceId(0): None
x reference Mismatch:
| previous reference ReferenceId(12): Some("_s")
| current reference ReferenceId(2): None
x reference Mismatch:
| previous reference ReferenceId(21): Some("_c")
| current reference ReferenceId(21): None
* refresh/ignores-hoc-definitions/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
* refresh/includes-custom-hooks-into-the-signatures/input.jsx
Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
x Scopes mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(10): Some("_s")
| current reference ReferenceId(0): None
x reference Mismatch:
| previous reference ReferenceId(14): Some("_s2")
| current reference ReferenceId(1): None
x reference Mismatch:
| previous reference ReferenceId(19): Some("_s3")
| current reference ReferenceId(2): None
x reference Mismatch:
| previous reference ReferenceId(23): Some("_c")
| current reference ReferenceId(23): None
* refresh/registers-capitalized-identifiers-in-hoc-calls/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(14): Some("_c")
| current reference ReferenceId(14): None
x reference Mismatch:
| previous reference ReferenceId(16): Some("_c2")
| current reference ReferenceId(16): None
x reference Mismatch:
| previous reference ReferenceId(18): Some("_c3")
| current reference ReferenceId(18): None
x reference Mismatch:
| previous reference ReferenceId(20): Some("_c4")
| current reference ReferenceId(20): None
* refresh/registers-identifiers-used-in-jsx-at-definition-site/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(53): Some("_c")
| current reference ReferenceId(44): None
x reference Mismatch:
| previous reference ReferenceId(55): Some("_c2")
| current reference ReferenceId(46): None
x reference Mismatch:
| previous reference ReferenceId(57): Some("_c3")
| current reference ReferenceId(48): None
x reference Mismatch:
| previous reference ReferenceId(59): Some("_c4")
| current reference ReferenceId(50): None
x reference Mismatch:
| previous reference ReferenceId(61): Some("_c5")
| current reference ReferenceId(52): None
x reference Mismatch:
| previous reference ReferenceId(63): Some("_c6")
| current reference ReferenceId(54): None
* refresh/registers-identifiers-used-in-react-create-element-at-definition-site/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(45): Some("_c")
| current reference ReferenceId(45): None
x reference Mismatch:
| previous reference ReferenceId(47): Some("_c2")
| current reference ReferenceId(47): None
x reference Mismatch:
| previous reference ReferenceId(49): Some("_c3")
| current reference ReferenceId(49): None
x reference Mismatch:
| previous reference ReferenceId(51): Some("_c4")
| current reference ReferenceId(51): None
x reference Mismatch:
| previous reference ReferenceId(53): Some("_c5")
| current reference ReferenceId(53): None
x reference Mismatch:
| previous reference ReferenceId(55): Some("_c6")
| current reference ReferenceId(55): None
* refresh/registers-likely-hocs-with-inline-functions-1/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(18): Some("_c")
| current reference ReferenceId(18): None
x reference Mismatch:
| previous reference ReferenceId(20): Some("_c2")
| current reference ReferenceId(20): None
x reference Mismatch:
| previous reference ReferenceId(22): Some("_c3")
| current reference ReferenceId(22): None
x reference Mismatch:
| previous reference ReferenceId(24): Some("_c4")
| current reference ReferenceId(24): None
x reference Mismatch:
| previous reference ReferenceId(26): Some("_c5")
| current reference ReferenceId(26): None
x reference Mismatch:
| previous reference ReferenceId(28): Some("_c6")
| current reference ReferenceId(28): None
x reference Mismatch:
| previous reference ReferenceId(30): Some("_c7")
| current reference ReferenceId(30): None
x reference Mismatch:
| previous reference ReferenceId(32): Some("_c8")
| current reference ReferenceId(32): None
* refresh/registers-likely-hocs-with-inline-functions-2/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(6): Some("_c")
| current reference ReferenceId(6): None
x reference Mismatch:
| previous reference ReferenceId(8): Some("_c2")
| current reference ReferenceId(8): None
x reference Mismatch:
| previous reference ReferenceId(10): Some("_c3")
| current reference ReferenceId(10): None
* refresh/registers-likely-hocs-with-inline-functions-3/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(6): Some("_c")
| current reference ReferenceId(6): None
x reference Mismatch:
| previous reference ReferenceId(8): Some("_c2")
| current reference ReferenceId(8): None
x reference Mismatch:
| previous reference ReferenceId(10): Some("_c3")
| current reference ReferenceId(10): None
* refresh/registers-top-level-exported-function-declarations/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(14): Some("_c")
| current reference ReferenceId(13): None
x reference Mismatch:
| previous reference ReferenceId(16): Some("_c2")
| current reference ReferenceId(15): None
x reference Mismatch:
| previous reference ReferenceId(18): Some("_c3")
| current reference ReferenceId(17): None
* refresh/registers-top-level-exported-named-arrow-functions/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(12): Some("_c")
| current reference ReferenceId(10): None
x reference Mismatch:
| previous reference ReferenceId(14): Some("_c2")
| current reference ReferenceId(12): None
* refresh/registers-top-level-function-declarations/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(9): Some("_c")
| current reference ReferenceId(8): None
x reference Mismatch:
| previous reference ReferenceId(11): Some("_c2")
| current reference ReferenceId(10): None
* refresh/registers-top-level-variable-declarations-with-arrow-functions/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(12): Some("_c")
| current reference ReferenceId(11): None
x reference Mismatch:
| previous reference ReferenceId(14): Some("_c2")
| current reference ReferenceId(13): None
x reference Mismatch:
| previous reference ReferenceId(16): Some("_c3")
| current reference ReferenceId(15): None
* refresh/registers-top-level-variable-declarations-with-function-expressions/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(9): Some("_c")
| current reference ReferenceId(8): None
x reference Mismatch:
| previous reference ReferenceId(11): Some("_c2")
| current reference ReferenceId(10): None
* refresh/supports-typescript-namespace-syntax/input.tsx
Scopes mismatch after transform
Symbols mismatch after transform
ReferenceId mismatch after transform
x Semantic Collector failed after transform
x Missing SymbolId: Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing SymbolId: _Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing SymbolId: Bar
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing SymbolId: _Bar
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: _Bar
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: _Bar
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: Bar
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: Bar
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: _Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: _Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: _Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: _Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: D
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing SymbolId: NotExported
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing SymbolId: _NotExported
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: _NotExported
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: NotExported
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: NotExported
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
x Missing ReferenceId: Foo
,-[tasks/transform_conformance/tests/babel-plugin-transform-react-jsx/test/fixtures/refresh/supports-typescript-namespace-syntax/input.tsx:1:1]
1 | namespace Foo {
: ^
2 | export namespace Bar {
`----
* refresh/uses-custom-identifiers-for-refresh-reg-and-refresh-sig/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(7): Some("_s")
| current reference ReferenceId(0): None
x reference Mismatch:
| previous reference ReferenceId(11): Some("_c")
| current reference ReferenceId(10): None
* refresh/uses-original-function-declaration-if-it-get-reassigned/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
* unicode/input.jsx
Symbols mismatch after transform
ReferenceId mismatch after transform
x reference Mismatch:
| previous reference ReferenceId(6): Some("_c")
| current reference ReferenceId(6): None

View file

@ -3,7 +3,7 @@ use std::{mem, ops::ControlFlow, path::Path};
use oxc::{
ast::ast::Program,
diagnostics::OxcDiagnostic,
semantic::{post_transform_checker::PostTransformChecker, SemanticBuilderReturn},
semantic::post_transform_checker::PostTransformChecker,
span::SourceType,
transformer::{TransformOptions, TransformerReturn},
CompilerInterface,
@ -13,7 +13,6 @@ pub struct Driver {
options: TransformOptions,
printed: String,
errors: Vec<OxcDiagnostic>,
check_semantic: bool,
checker: PostTransformChecker,
}
@ -34,34 +33,18 @@ impl CompilerInterface for Driver {
self.printed = printed;
}
fn after_semantic(
&mut self,
program: &mut Program<'_>,
_semantic_return: &mut SemanticBuilderReturn,
) -> ControlFlow<()> {
if self.check_semantic {
if let Some(errors) = self.checker.before_transform(program) {
self.errors.extend(errors);
return ControlFlow::Break(());
}
}
ControlFlow::Continue(())
}
fn after_transform(
&mut self,
program: &mut Program<'_>,
transformer_return: &mut TransformerReturn,
) -> ControlFlow<()> {
if self.check_semantic {
if let Some(errors) = self.checker.after_transform(
&transformer_return.symbols,
&transformer_return.scopes,
program,
) {
self.errors.extend(errors);
return ControlFlow::Break(());
}
if let Some(errors) = self.checker.after_transform(
&transformer_return.symbols,
&transformer_return.scopes,
program,
) {
self.errors.extend(errors);
return ControlFlow::Break(());
}
ControlFlow::Continue(())
}
@ -73,7 +56,6 @@ impl Driver {
options,
printed: String::new(),
errors: vec![],
check_semantic: true,
checker: PostTransformChecker::default(),
}
}

View file

@ -5,11 +5,11 @@ use std::{
use oxc::allocator::Allocator;
use oxc::codegen::CodeGenerator;
use oxc::diagnostics::{Error, OxcDiagnostic};
use oxc::diagnostics::{Error, NamedSource, OxcDiagnostic};
use oxc::parser::Parser;
use oxc::span::{SourceType, VALID_EXTENSIONS};
use oxc::transformer::{BabelOptions, TransformOptions};
use oxc_tasks_common::{normalize_path, print_diff_in_terminal};
use oxc_tasks_common::{normalize_path, print_diff_in_terminal, project_root};
use crate::{
constants::{PLUGINS_NOT_SUPPORTED_YET, SKIP_TESTS},
@ -249,6 +249,7 @@ impl TestCase for ConformanceTestCase {
println!("output_path: {output_path:?}");
}
let project_root = project_root();
let mut transformed_code = String::new();
let mut actual_errors = String::new();
let mut transform_options = None;
@ -261,9 +262,13 @@ impl TestCase for ConformanceTestCase {
transformed_code = printed;
}
Err(errors) => {
let source = NamedSource::new(
self.path.strip_prefix(project_root).unwrap().to_string_lossy(),
input.to_string(),
);
let error = errors
.into_iter()
.map(|err| err.to_string())
.map(|err| format!("{:?}", err.with_source_code(source.clone())))
.collect::<Vec<_>>()
.join("\n");
actual_errors = get_babel_error(&error);