getArgumentEffect() — react Function Reference
Architecture documentation for the getArgumentEffect() function in InferMutationAliasingEffects.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD e1fecb5e_21c7_c2f3_65f9_02c98934dd77["getArgumentEffect()"] d24875c3_c045_4414_2cc9_16f96d59c629["InferMutationAliasingEffects.ts"] e1fecb5e_21c7_c2f3_65f9_02c98934dd77 -->|defined in| d24875c3_c045_4414_2cc9_16f96d59c629 fc22e84f_49a6_8d04_faba_43cbf926c0aa["computeEffectsForLegacySignature()"] fc22e84f_49a6_8d04_faba_43cbf926c0aa -->|calls| e1fecb5e_21c7_c2f3_65f9_02c98934dd77 cf8d627e_c2f0_6cd4_e5fc_35f3c7005b64["throwTodo()"] e1fecb5e_21c7_c2f3_65f9_02c98934dd77 -->|calls| cf8d627e_c2f0_6cd4_e5fc_35f3c7005b64 style e1fecb5e_21c7_c2f3_65f9_02c98934dd77 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts lines 2812–2838
function getArgumentEffect(
signatureEffect: Effect | null,
arg: Place | SpreadPattern,
): Effect {
if (signatureEffect != null) {
if (arg.kind === 'Identifier') {
return signatureEffect;
} else if (
signatureEffect === Effect.Mutate ||
signatureEffect === Effect.ConditionallyMutate
) {
return signatureEffect;
} else {
// see call-spread-argument-mutable-iterator test fixture
if (signatureEffect === Effect.Freeze) {
CompilerError.throwTodo({
reason: 'Support spread syntax for hook arguments',
loc: arg.place.loc,
});
}
// effects[i] is Effect.Capture | Effect.Read | Effect.Store
return Effect.ConditionallyMutateIterator;
}
} else {
return Effect.ConditionallyMutate;
}
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does getArgumentEffect() do?
getArgumentEffect() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts.
Where is getArgumentEffect() defined?
getArgumentEffect() is defined in compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts at line 2812.
What does getArgumentEffect() call?
getArgumentEffect() calls 1 function(s): throwTodo.
What calls getArgumentEffect()?
getArgumentEffect() is called by 1 function(s): computeEffectsForLegacySignature.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free