Home / Function/ kind() — react Function Reference

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

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