Home / Function/ _printNode() — react Function Reference

_printNode() — react Function Reference

Architecture documentation for the _printNode() function in AlignReactiveScopesToBlockScopesHIR.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  d5f455d2_6789_7901_6032_b0018a8eca0a["_printNode()"]
  7be237a7_8abd_01cf_0fb0_fb02f23a8086["AlignReactiveScopesToBlockScopesHIR.ts"]
  d5f455d2_6789_7901_6032_b0018a8eca0a -->|defined in| 7be237a7_8abd_01cf_0fb0_fb02f23a8086
  e3db5fcb_8863_ef65_e742_41ce7309cd82["_debug()"]
  e3db5fcb_8863_ef65_e742_41ce7309cd82 -->|calls| d5f455d2_6789_7901_6032_b0018a8eca0a
  style d5f455d2_6789_7901_6032_b0018a8eca0a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/AlignReactiveScopesToBlockScopesHIR.ts lines 303–321

function _printNode(
  node: ValueBlockNode | ReactiveScopeNode,
  out: Array<string>,
  depth: number = 0,
): void {
  let prefix = '  '.repeat(depth);
  if (node.kind === 'scope') {
    out.push(
      `${prefix}[${node.id}] @${node.scope.id} [${node.scope.range.start}:${node.scope.range.end}]`,
    );
  } else {
    let range = ` (range=[${node.valueRange.start}:${node.valueRange.end}])`;
    out.push(`${prefix}[${node.id}] node${range} [`);
    for (const child of node.children) {
      _printNode(child, out, depth + 1);
    }
    out.push(`${prefix}]`);
  }
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does _printNode() do?
_printNode() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/AlignReactiveScopesToBlockScopesHIR.ts.
Where is _printNode() defined?
_printNode() is defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/AlignReactiveScopesToBlockScopesHIR.ts at line 303.
What calls _printNode()?
_printNode() is called by 1 function(s): _debug.

Analyze Your Own Codebase

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

Try Supermodel Free