Home / Function/ memoizeFbtAndMacroOperandsInSameScope() — react Function Reference

memoizeFbtAndMacroOperandsInSameScope() — react Function Reference

Architecture documentation for the memoizeFbtAndMacroOperandsInSameScope() function in MemoizeFbtAndMacroOperandsInSameScope.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  9f7211c0_d97a_9601_5b29_f9ec90a9b7d9["memoizeFbtAndMacroOperandsInSameScope()"]
  fb4e4a7f_2a4f_a45a_81e6_48b5748e5365["MemoizeFbtAndMacroOperandsInSameScope.ts"]
  9f7211c0_d97a_9601_5b29_f9ec90a9b7d9 -->|defined in| fb4e4a7f_2a4f_a45a_81e6_48b5748e5365
  29a64630_c3f8_4c5c_20ff_8ad40f36ac81["populateMacroTags()"]
  9f7211c0_d97a_9601_5b29_f9ec90a9b7d9 -->|calls| 29a64630_c3f8_4c5c_20ff_8ad40f36ac81
  b0ed4f5a_2555_809c_2cff_f361912c64fa["mergeMacroArguments()"]
  9f7211c0_d97a_9601_5b29_f9ec90a9b7d9 -->|calls| b0ed4f5a_2555_809c_2cff_f361912c64fa
  style 9f7211c0_d97a_9601_5b29_f9ec90a9b7d9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/MemoizeFbtAndMacroOperandsInSameScope.ts lines 73–95

export function memoizeFbtAndMacroOperandsInSameScope(
  fn: HIRFunction,
): Set<IdentifierId> {
  const macroKinds = new Map<Macro, MacroDefinition>([
    ...Array.from(FBT_TAGS.entries()),
    ...(fn.env.config.customMacros ?? []).map(
      name => [name, TRANSITIVE_MACRO] as [Macro, MacroDefinition],
    ),
  ]);
  /**
   * Forward data-flow analysis to identify all macro tags, including
   * things like `fbt.foo.bar(...)`
   */
  const macroTags = populateMacroTags(fn, macroKinds);

  /**
   * Reverse data-flow analysis to merge arguments to macro *invocations*
   * based on the kind of the macro
   */
  const macroValues = mergeMacroArguments(fn, macroTags, macroKinds);

  return macroValues;
}

Domain

Subdomains

Frequently Asked Questions

What does memoizeFbtAndMacroOperandsInSameScope() do?
memoizeFbtAndMacroOperandsInSameScope() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/MemoizeFbtAndMacroOperandsInSameScope.ts.
Where is memoizeFbtAndMacroOperandsInSameScope() defined?
memoizeFbtAndMacroOperandsInSameScope() is defined in compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/MemoizeFbtAndMacroOperandsInSameScope.ts at line 73.
What does memoizeFbtAndMacroOperandsInSameScope() call?
memoizeFbtAndMacroOperandsInSameScope() calls 2 function(s): mergeMacroArguments, populateMacroTags.

Analyze Your Own Codebase

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

Try Supermodel Free