recordPhiDerivations() — react Function Reference
Architecture documentation for the recordPhiDerivations() function in ValidateNoDerivedComputationsInEffects_exp.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 2d80e3d3_eaf3_911b_9f07_e94ea4f8013f["recordPhiDerivations()"] a38a9d1f_969c_8056_aa80_6cb5fedba226["ValidateNoDerivedComputationsInEffects_exp.ts"] 2d80e3d3_eaf3_911b_9f07_e94ea4f8013f -->|defined in| a38a9d1f_969c_8056_aa80_6cb5fedba226 f9f36408_8e51_961b_c26d_24ee285bd479["validateNoDerivedComputationsInEffects_exp()"] f9f36408_8e51_961b_c26d_24ee285bd479 -->|calls| 2d80e3d3_eaf3_911b_9f07_e94ea4f8013f 23e95905_7740_9185_1ad6_1a529d6f88ad["recordInstructionDerivations()"] 23e95905_7740_9185_1ad6_1a529d6f88ad -->|calls| 2d80e3d3_eaf3_911b_9f07_e94ea4f8013f 6184bf45_a975_a050_1701_b84d78f350c9["joinValue()"] 2d80e3d3_eaf3_911b_9f07_e94ea4f8013f -->|calls| 6184bf45_a975_a050_1701_b84d78f350c9 d47181e1_cf8f_56cd_bdd7_4bce6f7d15d9["addDerivationEntry()"] 2d80e3d3_eaf3_911b_9f07_e94ea4f8013f -->|calls| d47181e1_cf8f_56cd_bdd7_4bce6f7d15d9 style 2d80e3d3_eaf3_911b_9f07_e94ea4f8013f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoDerivedComputationsInEffects_exp.ts lines 258–287
function recordPhiDerivations(
block: BasicBlock,
context: ValidationContext,
): void {
for (const phi of block.phis) {
let typeOfValue: TypeOfValue = 'ignored';
let sourcesIds: Set<IdentifierId> = new Set();
for (const operand of phi.operands.values()) {
const operandMetadata = context.derivationCache.cache.get(
operand.identifier.id,
);
if (operandMetadata === undefined) {
continue;
}
typeOfValue = joinValue(typeOfValue, operandMetadata.typeOfValue);
sourcesIds.add(operand.identifier.id);
}
if (typeOfValue !== 'ignored') {
context.derivationCache.addDerivationEntry(
phi.place,
sourcesIds,
typeOfValue,
false,
);
}
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does recordPhiDerivations() do?
recordPhiDerivations() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoDerivedComputationsInEffects_exp.ts.
Where is recordPhiDerivations() defined?
recordPhiDerivations() is defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoDerivedComputationsInEffects_exp.ts at line 258.
What does recordPhiDerivations() call?
recordPhiDerivations() calls 2 function(s): addDerivationEntry, joinValue.
What calls recordPhiDerivations()?
recordPhiDerivations() is called by 2 function(s): recordInstructionDerivations, validateNoDerivedComputationsInEffects_exp.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free