InferMutationAliasingEffects.ts — react Source File
Architecture documentation for InferMutationAliasingEffects.ts, a typescript file in the react codebase. 34 imports, 5 dependents.
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
Functions
- applyEffect()
- applySignature()
- areArgumentsImmutableAndNonMutating()
- buildSignatureFromFunctionExpression()
- computeEffectsForLegacySignature()
- computeEffectsForSignature()
- computeSignatureForInstruction()
- conditionallyMutateIterator()
- findHoistedContextDeclarations()
- findNonMutatedDestructureSpreads()
- getArgumentEffect()
- getFunctionCallSignature()
- getWriteErrorReason()
- inferBlock()
- inferMutationAliasingEffects()
- inferParam()
- isKnownMutableEffect()
- mergeAbstractValues()
- mergeValueKinds()
Classes
Dependencies
- ..
- AliasingEffect
- AliasingEffects.ts
- AliasingSignature
- CompilerError.ts
- ErrorCategory
- FunctionSignature
- HIRBuilder.ts
- MutationReason
- ObjectShape.ts
- Ok
- PrintHIR.ts
- Result
- Result.ts
- Set_isSuperset
- assertExhaustive
- createTemporaryPlace
- eachInstructionValueOperand
- eachPatternItem
- eachTerminalOperand
- eachTerminalSuccessor
- getOrInsertDefault
- getOrInsertWith
- hashEffect
- index.ts
- pretty-format
- printAliasingEffect
- printAliasingSignature
- printIdentifier
- printInstruction
- printInstructionValue
- printPlace
- utils.ts
- visitors.ts
Imported By
- compiler/packages/babel-plugin-react-compiler/src/Inference/AnalyseFunctions.ts
- compiler/packages/babel-plugin-react-compiler/src/Entrypoint/Pipeline.ts
- compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/PruneNonEscapingScopes.ts
- compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateLocalsNotReassignedAfterRender.ts
- compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoImpureFunctionsInRender.ts
Source
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