mirror of
https://github.com/oxc-project/oxc.git
synced 2026-09-14 19:36:11 +08:00
b0e6c2574c
Preserve inline TypeScript enums as opaque pass-through HIR nodes, matching upstream React Compiler behavior. Apply Oxc-specific raw AST reference renaming, and skip compilation when passthrough would hide nested captures or flatten block-local bindings. AI-assisted: Codex was used to implement and validate this change.
28 lines
584 B
Plaintext
28 lines
584 B
Plaintext
---
|
|
source: crates/oxc_react_compiler/tests/snapshot.rs
|
|
input_file: crates/oxc_react_compiler/fixtures/ts-enum-inline-unused-side-effect.tsx
|
|
---
|
|
import { c as _c } from "react/compiler-runtime";
|
|
function createValue(value: number): number {
|
|
return value;
|
|
}
|
|
function Component(props) {
|
|
const $ = _c(2);
|
|
enum Unused {
|
|
Value = createValue(props.value)
|
|
}
|
|
let t0;
|
|
if ($[0] !== props.value) {
|
|
t0 = <span>{props.value}</span>;
|
|
$[0] = props.value;
|
|
$[1] = t0;
|
|
} else {
|
|
t0 = $[1];
|
|
}
|
|
return t0;
|
|
}
|
|
export const FIXTURE_ENTRYPOINT = {
|
|
fn: Component,
|
|
params: [{ value: 1 }]
|
|
};
|