kind() — react Function Reference
Architecture documentation for the kind() function in InferMutationAliasingEffects.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 8f06f55e_0851_0d44_0a89_d6dee31fdbb5["kind()"] 7f9a06c8_8e18_76fc_0edd_1f0d608aae44["InferenceState"] 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 -->|defined in| 7f9a06c8_8e18_76fc_0edd_1f0d608aae44 ac82e9ee_09bc_b58c_f2ac_86bf2d552540["inferBlock()"] ac82e9ee_09bc_b58c_f2ac_86bf2d552540 -->|calls| 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 f255dd41_8c48_19a9_1bcc_8efd2d663f32["applySignature()"] f255dd41_8c48_19a9_1bcc_8efd2d663f32 -->|calls| 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 7cb90dd3_dbe0_0087_670d_277ddeadabfc["applyEffect()"] 7cb90dd3_dbe0_0087_670d_277ddeadabfc -->|calls| 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 e0e4be16_6524_e844_c68d_262036cf06e3["freeze()"] e0e4be16_6524_e844_c68d_262036cf06e3 -->|calls| 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 3338dc96_fe73_47e6_7c7f_3a784c17be89["mutate()"] 3338dc96_fe73_47e6_7c7f_3a784c17be89 -->|calls| 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 10386ad8_f999_3e46_b390_aba6afce2aec["areArgumentsImmutableAndNonMutating()"] 10386ad8_f999_3e46_b390_aba6afce2aec -->|calls| 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 041ca752_10c1_3cda_1f5c_02f44a01310e["invariant()"] 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 -->|calls| 041ca752_10c1_3cda_1f5c_02f44a01310e bf7f1cf7_fc0e_6bac_827c_8d36d98126da["printPlace()"] 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 -->|calls| bf7f1cf7_fc0e_6bac_827c_8d36d98126da 2f66f475_8a8e_7610_f27b_a0bed84c1b27["mergeAbstractValues()"] 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 -->|calls| 2f66f475_8a8e_7610_f27b_a0bed84c1b27 style 8f06f55e_0851_0d44_0a89_d6dee31fdbb5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts lines 1368–1388
kind(place: Place): AbstractValue {
const values = this.#variables.get(place.identifier.id);
CompilerError.invariant(values != null, {
reason: `[InferMutationAliasingEffects] Expected value kind to be initialized`,
description: `${printPlace(place)}`,
message: 'this is uninitialized',
loc: place.loc,
});
let mergedKind: AbstractValue | null = null;
for (const value of values) {
const kind = this.#values.get(value)!;
mergedKind =
mergedKind !== null ? mergeAbstractValues(mergedKind, kind) : kind;
}
CompilerError.invariant(mergedKind !== null, {
reason: `[InferMutationAliasingEffects] Expected at least one value`,
description: `No value found at \`${printPlace(place)}\``,
loc: place.loc,
});
return mergedKind;
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does kind() do?
kind() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts.
Where is kind() defined?
kind() is defined in compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts at line 1368.
What does kind() call?
kind() calls 3 function(s): invariant, mergeAbstractValues, printPlace.
What calls kind()?
kind() is called by 6 function(s): applyEffect, applySignature, areArgumentsImmutableAndNonMutating, freeze, inferBlock, mutate.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free