Home / Class/ Visitor Class — react Architecture

Visitor Class — react Architecture

Architecture documentation for the Visitor class in AssertWellFormedBreakTargets.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  477cb675_67fe_f686_72c5_c604455fdafa["Visitor"]
  31e1b13d_4465_d177_45eb_7f64bf27ed7e["AssertWellFormedBreakTargets.ts"]
  477cb675_67fe_f686_72c5_c604455fdafa -->|defined in| 31e1b13d_4465_d177_45eb_7f64bf27ed7e
  d779e6dd_a2d9_8d2a_4318_8ccdbe2a26fe["visitTerminal()"]
  477cb675_67fe_f686_72c5_c604455fdafa -->|method| d779e6dd_a2d9_8d2a_4318_8ccdbe2a26fe

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/AssertWellFormedBreakTargets.ts lines 19–35

class Visitor extends ReactiveFunctionVisitor<Set<BlockId>> {
  override visitTerminal(
    stmt: ReactiveTerminalStatement,
    seenLabels: Set<BlockId>,
  ): void {
    if (stmt.label != null) {
      seenLabels.add(stmt.label.id);
    }
    const terminal = stmt.terminal;
    if (terminal.kind === 'break' || terminal.kind === 'continue') {
      CompilerError.invariant(seenLabels.has(terminal.target), {
        reason: 'Unexpected break to invalid label',
        loc: stmt.terminal.loc,
      });
    }
  }
}

Domain

Frequently Asked Questions

What is the Visitor class?
Visitor is a class in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/AssertWellFormedBreakTargets.ts.
Where is Visitor defined?
Visitor is defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/AssertWellFormedBreakTargets.ts at line 19.

Analyze Your Own Codebase

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

Try Supermodel Free