Home / Function/ codegenBlock() — react Function Reference

codegenBlock() — react Function Reference

Architecture documentation for the codegenBlock() function in CodegenReactiveFunction.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  b8125226_b7ac_716f_9ed0_db7e7d00571c["codegenBlock()"]
  dc7f10c2_c914_a162_d02b_a10a15c64a5f["CodegenReactiveFunction.ts"]
  b8125226_b7ac_716f_9ed0_db7e7d00571c -->|defined in| dc7f10c2_c914_a162_d02b_a10a15c64a5f
  cc29904c_66f3_5155_9ed7_837866d52047["codegenReactiveFunction()"]
  cc29904c_66f3_5155_9ed7_837866d52047 -->|calls| b8125226_b7ac_716f_9ed0_db7e7d00571c
  94638464_4710_0693_528f_4848cf25e876["codegenReactiveScope()"]
  94638464_4710_0693_528f_4848cf25e876 -->|calls| b8125226_b7ac_716f_9ed0_db7e7d00571c
  4f146c25_f9b5_fd01_865f_04b2fc3071a8["codegenTerminal()"]
  4f146c25_f9b5_fd01_865f_04b2fc3071a8 -->|calls| b8125226_b7ac_716f_9ed0_db7e7d00571c
  ba08546d_2fde_b751_b6d4_89a52ff181a5["codegenForInit()"]
  ba08546d_2fde_b751_b6d4_89a52ff181a5 -->|calls| b8125226_b7ac_716f_9ed0_db7e7d00571c
  6913ca73_f3c4_9919_bf65_7b95559378b7["codegenBlockNoReset()"]
  b8125226_b7ac_716f_9ed0_db7e7d00571c -->|calls| 6913ca73_f3c4_9919_bf65_7b95559378b7
  041ca752_10c1_3cda_1f5c_02f44a01310e["invariant()"]
  b8125226_b7ac_716f_9ed0_db7e7d00571c -->|calls| 041ca752_10c1_3cda_1f5c_02f44a01310e
  style b8125226_b7ac_716f_9ed0_db7e7d00571c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/CodegenReactiveFunction.ts lines 491–509

function codegenBlock(cx: Context, block: ReactiveBlock): t.BlockStatement {
  const temp = new Map(cx.temp);
  const result = codegenBlockNoReset(cx, block);
  /*
   * Check that the block only added new temporaries and did not update the
   * value of any existing temporary
   */
  for (const [key, value] of cx.temp) {
    if (!temp.has(key)) {
      continue;
    }
    CompilerError.invariant(temp.get(key)! === value, {
      reason: 'Expected temporary value to be unchanged',
      loc: GeneratedSource,
    });
  }
  cx.temp = temp;
  return result;
}

Domain

Subdomains

Frequently Asked Questions

What does codegenBlock() do?
codegenBlock() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/CodegenReactiveFunction.ts.
Where is codegenBlock() defined?
codegenBlock() is defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/CodegenReactiveFunction.ts at line 491.
What does codegenBlock() call?
codegenBlock() calls 2 function(s): codegenBlockNoReset, invariant.
What calls codegenBlock()?
codegenBlock() is called by 4 function(s): codegenForInit, codegenReactiveFunction, codegenReactiveScope, codegenTerminal.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free