transformInstruction() — react Function Reference
Architecture documentation for the transformInstruction() function in PruneAlwaysInvalidatingScopes.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD ab01b4ae_5d3f_c6b4_3512_fc828a66df7c["transformInstruction()"] d9cfc6c8_2b94_462b_69b8_bedddf5c2c61["Transform"] ab01b4ae_5d3f_c6b4_3512_fc828a66df7c -->|defined in| d9cfc6c8_2b94_462b_69b8_bedddf5c2c61 style ab01b4ae_5d3f_c6b4_3512_fc828a66df7c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/PruneAlwaysInvalidatingScopes.ts lines 35–82
override transformInstruction(
instruction: ReactiveInstruction,
withinScope: boolean,
): Transformed<ReactiveStatement> {
this.visitInstruction(instruction, withinScope);
const {lvalue, value} = instruction;
switch (value.kind) {
case 'ArrayExpression':
case 'ObjectExpression':
case 'JsxExpression':
case 'JsxFragment':
case 'NewExpression': {
if (lvalue !== null) {
this.alwaysInvalidatingValues.add(lvalue.identifier);
if (!withinScope) {
this.unmemoizedValues.add(lvalue.identifier);
}
}
break;
}
case 'StoreLocal': {
if (this.alwaysInvalidatingValues.has(value.value.identifier)) {
this.alwaysInvalidatingValues.add(value.lvalue.place.identifier);
}
if (this.unmemoizedValues.has(value.value.identifier)) {
this.unmemoizedValues.add(value.lvalue.place.identifier);
}
break;
}
case 'LoadLocal': {
if (
lvalue !== null &&
this.alwaysInvalidatingValues.has(value.place.identifier)
) {
this.alwaysInvalidatingValues.add(lvalue.identifier);
}
if (
lvalue !== null &&
this.unmemoizedValues.has(value.place.identifier)
) {
this.unmemoizedValues.add(lvalue.identifier);
}
break;
}
}
return {kind: 'keep'};
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does transformInstruction() do?
transformInstruction() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/PruneAlwaysInvalidatingScopes.ts.
Where is transformInstruction() defined?
transformInstruction() is defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/PruneAlwaysInvalidatingScopes.ts at line 35.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free