eachInstructionValueOperand() — react Function Reference
Architecture documentation for the eachInstructionValueOperand() function in visitors.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD b2fc2985_a7ba_9865_c2a3_2a7531f27d44["eachInstructionValueOperand()"] 2f3caf55_cc64_415c_55dd_9771ba7dc210["visitors.ts"] b2fc2985_a7ba_9865_c2a3_2a7531f27d44 -->|defined in| 2f3caf55_cc64_415c_55dd_9771ba7dc210 505f2e0b_d43c_5972_8865_373d0dd08a6a["assertConsistentIdentifiers()"] 505f2e0b_d43c_5972_8865_373d0dd08a6a -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 fe7b2dbb_34c7_f07a_c558_c479a9c5eb1e["handleInstruction()"] fe7b2dbb_34c7_f07a_c558_c479a9c5eb1e -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 ccace1c3_85b7_a05e_c2a5_7eff8b3422ed["eachInstructionOperand()"] ccace1c3_85b7_a05e_c2a5_7eff8b3422ed -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 a434dd08_0de3_17ca_8d4f_08a598a9c73e["findHoistedContextDeclarations()"] a434dd08_0de3_17ca_8d4f_08a598a9c73e -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 e7a5763f_4c18_e88b_d1ab_1552691b7387["findNonMutatedDestructureSpreads()"] e7a5763f_4c18_e88b_d1ab_1552691b7387 -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 a00426de_5aa3_d680_a1fe_29201ff58984["computeSignatureForInstruction()"] a00426de_5aa3_d680_a1fe_29201ff58984 -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 f3815d1a_36a1_3e3d_92f2_dbbe88f01fe3["inferMutationAliasingRanges()"] f3815d1a_36a1_3e3d_92f2_dbbe88f01fe3 -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 fddc4da2_1151_8052_c771_8b67085ebeca["inferReactivePlaces()"] fddc4da2_1151_8052_c771_8b67085ebeca -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 d77babff_42d3_5fdf_4059_c0b9e7cfaeb0["inlineImmediatelyInvokedFunctionExpressions()"] d77babff_42d3_5fdf_4059_c0b9e7cfaeb0 -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 b86031b6_78ac_d498_c775_7aedeaf6521e["findReferencedIdentifiers()"] b86031b6_78ac_d498_c775_7aedeaf6521e -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 c4483c48_7e67_41a0_1a7a_c6ca92a55123["reorderBlock()"] c4483c48_7e67_41a0_1a7a_c6ca92a55123 -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 93674d7a_a49c_dadd_0d67_6c5e98450587["optimizeForSSR()"] 93674d7a_a49c_dadd_0d67_6c5e98450587 -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 a7abe9d6_8eba_2cf2_6e34_62ed30d56ff9["findScopesToMerge()"] a7abe9d6_8eba_2cf2_6e34_62ed30d56ff9 -->|calls| b2fc2985_a7ba_9865_c2a3_2a7531f27d44 style b2fc2985_a7ba_9865_c2a3_2a7531f27d44 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/HIR/visitors.ts lines 88–290
export function* eachInstructionValueOperand(
instrValue: InstructionValue,
): Iterable<Place> {
switch (instrValue.kind) {
case 'NewExpression':
case 'CallExpression': {
yield instrValue.callee;
yield* eachCallArgument(instrValue.args);
break;
}
case 'BinaryExpression': {
yield instrValue.left;
yield instrValue.right;
break;
}
case 'MethodCall': {
yield instrValue.receiver;
yield instrValue.property;
yield* eachCallArgument(instrValue.args);
break;
}
case 'DeclareContext':
case 'DeclareLocal': {
break;
}
case 'LoadLocal':
case 'LoadContext': {
yield instrValue.place;
break;
}
case 'StoreLocal': {
yield instrValue.value;
break;
}
case 'StoreContext': {
yield instrValue.lvalue.place;
yield instrValue.value;
break;
}
case 'StoreGlobal': {
yield instrValue.value;
break;
}
case 'Destructure': {
yield instrValue.value;
break;
}
case 'PropertyLoad': {
yield instrValue.object;
break;
}
case 'PropertyDelete': {
yield instrValue.object;
break;
}
case 'PropertyStore': {
yield instrValue.object;
yield instrValue.value;
break;
}
case 'ComputedLoad': {
yield instrValue.object;
yield instrValue.property;
break;
}
case 'ComputedDelete': {
yield instrValue.object;
yield instrValue.property;
break;
}
case 'ComputedStore': {
yield instrValue.object;
yield instrValue.property;
yield instrValue.value;
break;
}
case 'UnaryExpression': {
yield instrValue.value;
break;
}
case 'JsxExpression': {
Domain
Subdomains
Called By
- alignReactiveScopesToBlockScopesHIR()
- assertConsistentIdentifiers()
- collectDependencies()
- collectReactiveIdentifiersHIR()
- computeSignatureForInstruction()
- eachInstructionOperand()
- eachReactiveValueOperand()
- findHoistedContextDeclarations()
- findNonMutatedDestructureSpreads()
- findReferencedIdentifiers()
- findScopesToMerge()
- getContextReassignment()
- getSetStateCall()
- handleInstruction()
- inferMutationAliasingRanges()
- inferReactivePlaces()
- inlineImmediatelyInvokedFunctionExpressions()
- optimizeForSSR()
- reorderBlock()
- traverseValue()
- traverseValue()
- validateEffect()
- validateNoFreezingKnownMutableFunctions()
- validateNoRefAccessInRenderImpl()
- validateNoSetStateInEffects()
- validateNoSetStateInRenderImpl()
- validateUseMemo()
- visitInstruction()
- visitOperands()
Source
Frequently Asked Questions
What does eachInstructionValueOperand() do?
eachInstructionValueOperand() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/HIR/visitors.ts.
Where is eachInstructionValueOperand() defined?
eachInstructionValueOperand() is defined in compiler/packages/babel-plugin-react-compiler/src/HIR/visitors.ts at line 88.
What does eachInstructionValueOperand() call?
eachInstructionValueOperand() calls 2 function(s): assertExhaustive, eachCallArgument.
What calls eachInstructionValueOperand()?
eachInstructionValueOperand() is called by 29 function(s): alignReactiveScopesToBlockScopesHIR, assertConsistentIdentifiers, collectDependencies, collectReactiveIdentifiersHIR, computeSignatureForInstruction, eachInstructionOperand, eachReactiveValueOperand, findHoistedContextDeclarations, and 21 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free