Home / Function/ eachInstructionValueOperand() — react Function Reference

eachInstructionValueOperand() — react Function Reference

Architecture documentation for the eachInstructionValueOperand() function in visitors.ts from the react codebase.

Function typescript MIRInfrastructure HIR calls 2 called by 29

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': {

Subdomains

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