Home / Function/ freeze() — react Function Reference

freeze() — react Function Reference

Architecture documentation for the freeze() function in InferMutationAliasingEffects.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  e0e4be16_6524_e844_c68d_262036cf06e3["freeze()"]
  7f9a06c8_8e18_76fc_0edd_1f0d608aae44["InferenceState"]
  e0e4be16_6524_e844_c68d_262036cf06e3 -->|defined in| 7f9a06c8_8e18_76fc_0edd_1f0d608aae44
  7cb90dd3_dbe0_0087_670d_277ddeadabfc["applyEffect()"]
  7cb90dd3_dbe0_0087_670d_277ddeadabfc -->|calls| e0e4be16_6524_e844_c68d_262036cf06e3
  1d094e55_9813_8516_4c4f_a471e85cee29["freezeValue()"]
  1d094e55_9813_8516_4c4f_a471e85cee29 -->|calls| e0e4be16_6524_e844_c68d_262036cf06e3
  8f06f55e_0851_0d44_0a89_d6dee31fdbb5["kind()"]
  e0e4be16_6524_e844_c68d_262036cf06e3 -->|calls| 8f06f55e_0851_0d44_0a89_d6dee31fdbb5
  bcbdcfbc_a2a4_dd2d_09f6_b6643e95eb6e["values()"]
  e0e4be16_6524_e844_c68d_262036cf06e3 -->|calls| bcbdcfbc_a2a4_dd2d_09f6_b6643e95eb6e
  1d094e55_9813_8516_4c4f_a471e85cee29["freezeValue()"]
  e0e4be16_6524_e844_c68d_262036cf06e3 -->|calls| 1d094e55_9813_8516_4c4f_a471e85cee29
  d7fde76c_4fd9_feb3_299b_798689f05bc6["assertExhaustive()"]
  e0e4be16_6524_e844_c68d_262036cf06e3 -->|calls| d7fde76c_4fd9_feb3_299b_798689f05bc6
  style e0e4be16_6524_e844_c68d_262036cf06e3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts lines 1435–1459

  freeze(place: Place, reason: ValueReason): boolean {
    const value = this.kind(place);
    switch (value.kind) {
      case ValueKind.Context:
      case ValueKind.Mutable:
      case ValueKind.MaybeFrozen: {
        const values = this.values(place);
        for (const instrValue of values) {
          this.freezeValue(instrValue, reason);
        }
        return true;
      }
      case ValueKind.Frozen:
      case ValueKind.Global:
      case ValueKind.Primitive: {
        return false;
      }
      default: {
        assertExhaustive(
          value.kind,
          `Unexpected value kind '${(value as any).kind}'`,
        );
      }
    }
  }

Domain

Subdomains

Frequently Asked Questions

What does freeze() do?
freeze() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts.
Where is freeze() defined?
freeze() is defined in compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts at line 1435.
What does freeze() call?
freeze() calls 4 function(s): assertExhaustive, freezeValue, kind, values.
What calls freeze()?
freeze() is called by 2 function(s): applyEffect, freezeValue.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free