Home / File/ InferMutationAliasingEffects.ts — react Source File

InferMutationAliasingEffects.ts — react Source File

Architecture documentation for InferMutationAliasingEffects.ts, a typescript file in the react codebase. 34 imports, 5 dependents.

File typescript BabelCompiler Validation 34 imports 5 dependents 19 functions 2 classes

Entity Profile

Dependency Diagram

graph LR
  d24875c3_c045_4414_2cc9_16f96d59c629["InferMutationAliasingEffects.ts"]
  0423f759_97e0_9101_4634_ed555abc5ca9["index.ts"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 0423f759_97e0_9101_4634_ed555abc5ca9
  2f3caf55_cc64_415c_55dd_9771ba7dc210["visitors.ts"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 2f3caf55_cc64_415c_55dd_9771ba7dc210
  b2fc2985_a7ba_9865_c2a3_2a7531f27d44["eachInstructionValueOperand"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> b2fc2985_a7ba_9865_c2a3_2a7531f27d44
  13924a9d_e73a_6d54_de57_dd59bb471df1["eachPatternItem"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 13924a9d_e73a_6d54_de57_dd59bb471df1
  41232a25_deb6_6e83_05a8_ae9f961656f7["eachTerminalOperand"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 41232a25_deb6_6e83_05a8_ae9f961656f7
  d737cb4c_53f4_75b4_2d58_268e2f73fde4["eachTerminalSuccessor"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> d737cb4c_53f4_75b4_2d58_268e2f73fde4
  494e3425_0b47_293a_1ea4_d4670b0fc0e7["Result.ts"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 494e3425_0b47_293a_1ea4_d4670b0fc0e7
  9f0e6a52_ff9e_00f3_1760_5fddfd89b234["Ok"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 9f0e6a52_ff9e_00f3_1760_5fddfd89b234
  7aace723_0ee1_cff5_b263_aec8e06dd79e["Result"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 7aace723_0ee1_cff5_b263_aec8e06dd79e
  eb9d33f9_42c1_205c_93e6_8e1365a31839["utils.ts"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> eb9d33f9_42c1_205c_93e6_8e1365a31839
  d7fde76c_4fd9_feb3_299b_798689f05bc6["assertExhaustive"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> d7fde76c_4fd9_feb3_299b_798689f05bc6
  14f2e51a_d755_814e_2f56_72d3ed119459["getOrInsertDefault"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 14f2e51a_d755_814e_2f56_72d3ed119459
  4663af75_e270_25e3_3415_1230be609d66["getOrInsertWith"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> 4663af75_e270_25e3_3415_1230be609d66
  d9831427_227f_a545_fdd6_40ed29d0f436["Set_isSuperset"]
  d24875c3_c045_4414_2cc9_16f96d59c629 --> d9831427_227f_a545_fdd6_40ed29d0f436
  style d24875c3_c045_4414_2cc9_16f96d59c629 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 {
  CompilerDiagnostic,
  CompilerError,
  Effect,
  SourceLocation,
  ValueKind,
} from '..';
import {
  BasicBlock,
  BlockId,
  DeclarationId,
  Environment,
  FunctionExpression,
  GeneratedSource,
  getHookKind,
  HIRFunction,
  Hole,
  IdentifierId,
  Instruction,
  InstructionKind,
  InstructionValue,
  isArrayType,
  isJsxType,
  isMapType,
  isPrimitiveType,
  isRefOrRefValue,
  isSetType,
  makeIdentifierId,
  Phi,
  Place,
  SpreadPattern,
  Type,
  ValueReason,
} from '../HIR';
import {
  eachInstructionValueOperand,
  eachPatternItem,
  eachTerminalOperand,
  eachTerminalSuccessor,
} from '../HIR/visitors';
import {Ok, Result} from '../Utils/Result';
import {
  assertExhaustive,
  getOrInsertDefault,
  getOrInsertWith,
  Set_isSuperset,
} from '../Utils/utils';
import {
  printAliasingEffect,
  printAliasingSignature,
  printIdentifier,
  printInstruction,
  printInstructionValue,
// ... (2916 more lines)

Domain

Subdomains

Frequently Asked Questions

What does InferMutationAliasingEffects.ts do?
InferMutationAliasingEffects.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 InferMutationAliasingEffects.ts?
InferMutationAliasingEffects.ts defines 19 function(s): applyEffect, applySignature, areArgumentsImmutableAndNonMutating, buildSignatureFromFunctionExpression, computeEffectsForLegacySignature, computeEffectsForSignature, computeSignatureForInstruction, conditionallyMutateIterator, findHoistedContextDeclarations, findNonMutatedDestructureSpreads, and 9 more.
What does InferMutationAliasingEffects.ts depend on?
InferMutationAliasingEffects.ts imports 34 module(s): .., AliasingEffect, AliasingEffects.ts, AliasingSignature, CompilerError.ts, ErrorCategory, FunctionSignature, HIRBuilder.ts, and 26 more.
What files import InferMutationAliasingEffects.ts?
InferMutationAliasingEffects.ts is imported by 5 file(s): AnalyseFunctions.ts, Pipeline.ts, PruneNonEscapingScopes.ts, ValidateLocalsNotReassignedAfterRender.ts, ValidateNoImpureFunctionsInRender.ts.
Where is InferMutationAliasingEffects.ts in the architecture?
InferMutationAliasingEffects.ts is located at compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.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