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.
27 lines
538 B
Plaintext
27 lines
538 B
Plaintext
---
|
|
source: crates/oxc_react_compiler/tests/snapshot.rs
|
|
input_file: crates/oxc_react_compiler/fixtures/ts-enum-inline-member-reference.tsx
|
|
---
|
|
import { c as _c } from "react/compiler-runtime";
|
|
function Component(props) {
|
|
const $ = _c(2);
|
|
enum NumberValue {
|
|
First = 1,
|
|
Second = First
|
|
}
|
|
const t0 = NumberValue.Second + props.value;
|
|
let t1;
|
|
if ($[0] !== t0) {
|
|
t1 = <span>{t0}</span>;
|
|
$[0] = t0;
|
|
$[1] = t1;
|
|
} else {
|
|
t1 = $[1];
|
|
}
|
|
return t1;
|
|
}
|
|
export const FIXTURE_ENTRYPOINT = {
|
|
fn: Component,
|
|
params: [{ value: 1 }]
|
|
};
|