Home / File/ InferEffectDependencies.ts — react Source File

InferEffectDependencies.ts — react Source File

Architecture documentation for InferEffectDependencies.ts, a typescript file in the react codebase. 32 imports, 0 dependents.

File typescript BabelCompiler Validation 32 imports 8 functions

Entity Profile

Dependency Diagram

graph LR
  3393f920_76eb_7dd5_b95f_ab92de6cecce["InferEffectDependencies.ts"]
  0423f759_97e0_9101_4634_ed555abc5ca9["index.ts"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 0423f759_97e0_9101_4634_ed555abc5ca9
  53e05ed1_ffb1_8db2_8573_ef5a3fb99c72["CollectHoistablePropertyLoads.ts"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 53e05ed1_ffb1_8db2_8573_ef5a3fb99c72
  bdf8cdce_736e_1a2d_6a67_5dacbcb1d645["collectHoistablePropertyLoadsInInnerFn"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> bdf8cdce_736e_1a2d_6a67_5dacbcb1d645
  fd3023fa_cdd5_e8f0_669a_c459a0f89746["CollectOptionalChainDependencies.ts"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> fd3023fa_cdd5_e8f0_669a_c459a0f89746
  ef81e884_f545_95f9_d420_7fcb2bd33ee0["collectOptionalChainSidemap"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> ef81e884_f545_95f9_d420_7fcb2bd33ee0
  686094a4_f90a_6b2e_949a_aa03f03b5c66["DeriveMinimalDependenciesHIR.ts"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 686094a4_f90a_6b2e_949a_aa03f03b5c66
  ce8ab5d9_db4b_3be5_3f9c_38fa68bcbaa1["ReactiveScopeDependencyTreeHIR"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> ce8ab5d9_db4b_3be5_3f9c_38fa68bcbaa1
  1b971013_8a90_0d8d_1fcc_f31581cd66aa["Environment.ts"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 1b971013_8a90_0d8d_1fcc_f31581cd66aa
  df6865e0_b573_e905_84d6_4eb6b419a888["HIRBuilder.ts"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> df6865e0_b573_e905_84d6_4eb6b419a888
  49446ae1_b830_9411_8258_1139d21b314b["createTemporaryPlace"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 49446ae1_b830_9411_8258_1139d21b314b
  04a5191f_97c5_f799_5b35_df80b526da7f["fixScopeAndIdentifierRanges"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 04a5191f_97c5_f799_5b35_df80b526da7f
  0c09df5a_6c07_11e5_1a6b_9253007463b8["markInstructionIds"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 0c09df5a_6c07_11e5_1a6b_9253007463b8
  6d209f7d_6d38_4dee_c66c_76af0358f508["markPredecessors"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 6d209f7d_6d38_4dee_c66c_76af0358f508
  0ed953ae_5345_6a11_8ecf_c387365fdf84["reversePostorderBlocks"]
  3393f920_76eb_7dd5_b95f_ab92de6cecce --> 0ed953ae_5345_6a11_8ecf_c387365fdf84
  style 3393f920_76eb_7dd5_b95f_ab92de6cecce fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

import * as t from '@babel/types';
import {CompilerError, SourceLocation} from '..';
import {
  ArrayExpression,
  Effect,
  FunctionExpression,
  GeneratedSource,
  HIRFunction,
  IdentifierId,
  Instruction,
  makeInstructionId,
  TInstruction,
  InstructionId,
  ScopeId,
  ReactiveScopeDependency,
  Place,
  ReactiveScope,
  ReactiveScopeDependencies,
  Terminal,
  isUseRefType,
  isSetStateType,
  isFireFunctionType,
  makeScopeId,
  HIR,
  BasicBlock,
  BlockId,
  isEffectEventFunctionType,
} from '../HIR';
import {collectHoistablePropertyLoadsInInnerFn} from '../HIR/CollectHoistablePropertyLoads';
import {collectOptionalChainSidemap} from '../HIR/CollectOptionalChainDependencies';
import {ReactiveScopeDependencyTreeHIR} from '../HIR/DeriveMinimalDependenciesHIR';
import {DEFAULT_EXPORT} from '../HIR/Environment';
import {
  createTemporaryPlace,
  fixScopeAndIdentifierRanges,
  markInstructionIds,
  markPredecessors,
  reversePostorderBlocks,
} from '../HIR/HIRBuilder';
import {
  collectTemporariesSidemap,
  DependencyCollectionContext,
  handleInstruction,
} from '../HIR/PropagateScopeDependenciesHIR';
import {buildDependencyInstructions} from '../HIR/ScopeDependencyUtils';
import {
  eachInstructionOperand,
  eachTerminalOperand,
  terminalFallthrough,
} from '../HIR/visitors';
import {empty} from '../Utils/Stack';
import {getOrInsertWith} from '../Utils/utils';
import {deadCodeElimination} from '../Optimization';
// ... (616 more lines)

Domain

Subdomains

Types

Frequently Asked Questions

What does InferEffectDependencies.ts do?
InferEffectDependencies.ts is a source file in the react codebase, written in typescript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in InferEffectDependencies.ts?
InferEffectDependencies.ts defines 8 function(s): collectDepUsages, inferDependencies, inferDependenciesInFn, inferEffectDependencies, inferMinimalDependencies, inferReactiveIdentifiers, rewriteSplices, truncateDepAtCurrent.
What does InferEffectDependencies.ts depend on?
InferEffectDependencies.ts imports 32 module(s): .., CollectHoistablePropertyLoads.ts, CollectOptionalChainDependencies.ts, DependencyCollectionContext, DeriveMinimalDependenciesHIR.ts, Environment.ts, HIRBuilder.ts, ObjectShape.ts, and 24 more.
Where is InferEffectDependencies.ts in the architecture?
InferEffectDependencies.ts is located at compiler/packages/babel-plugin-react-compiler/src/Inference/InferEffectDependencies.ts (domain: BabelCompiler, subdomain: Validation, directory: compiler/packages/babel-plugin-react-compiler/src/Inference).

Analyze Your Own Codebase

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

Try Supermodel Free