1---2name: hir3description: Skill for the HIR area of Wiki. 507 symbols across 110 files.4---56# HIR78507 symbols | 110 files | Cohesion: 71%910## When to Use1112- Working with code in `React/`13- Understanding how getRuleForCategory, nameAnonymousFunctions, assertExhaustive work14- Modifying hir-related functionality1516## Key Files1718| File | Symbols |19|------|---------|20| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts` | isStatementBlockKind, isExpressionBlockKind, convertHoistedLValueKind, validateIdentifierName, promoteTemporary (+30) |21| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Inference/InferMutationAliasingEffects.ts` | inferMutationAliasingEffects, findHoistedContextDeclarations, visit, cacheApplySignature, internEffect (+27) |22| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/HIRBuilder.ts` | build, switch, loop, resolveBlockTarget, removeUnreachableForUpdates (+25) |23| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/BuildHIR.ts` | handleMaybeDependency, lower, lowerStatement, lowerObjectPropertyKey, lowerExpression (+22) |24| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/PropagateScopeDependenciesHIR.ts` | propagateScopeDependenciesHIR, collectTemporariesSidemap, #checkValidDependency, handleInstruction, collectTemporariesSidemapImpl (+15) |25| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts` | makeRefId, nextRefId, lookup, define, get (+14) |26| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/ReactiveScopes/CodegenReactiveFunction.ts` | codegenFunction, codegenReactiveFunction, Context, wrapCacheDep, codegenInstructionNullable (+14) |27| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/PrintHIR.ts` | printFunction, printHIR, printMixedHIR, printInstruction, printPhi (+14) |28| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/CollectHoistablePropertyLoads.ts` | getOrCreateIdentifier, getOrCreateProperty, getMaybeNonNullInInstruction, isImmutableAtInstr, collectNonNullsInBlocks (+10) |29| `React/React-source/compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts` | CompilerDiagnostic, create, withDetails, CompilerError, invariant (+9) |3031## Entry Points3233Start here when exploring this area:3435- **`getRuleForCategory`** (Function) — `React/React-source/compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts:781`36- **`nameAnonymousFunctions`** (Function) — `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Transform/NameAnonymousFunctions.ts:14`37- **`assertExhaustive`** (Function) — `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts:28`38- **`retainWhere`** (Function) — `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts:33`39- **`getOrInsertWith`** (Function) — `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts:58`4041## Key Symbols4243| Symbol | Type | File | Line |44|--------|------|------|------|45| `CompilerDiagnostic` | Class | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts` | 121 |46| `CompilerError` | Class | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts` | 301 |47| `DisjointSet` | Class | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/DisjointSet.ts` | 11 |48| `ReactiveScopeDependencyTreeHIR` | Class | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/DeriveMinimalDependenciesHIR.ts` | 22 |49| `HIRBuilder` | Class | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/HIRBuilder.ts` | 103 |50| `FlowTypeEnv` | Class | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Flood/Types.ts` | 694 |51| `DependencyCollectionContext` | Class | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/PropagateScopeDependenciesHIR.ts` | 399 |52| `ScopeBlockTraversal` | Class | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/HIR/visitors.ts` | 1237 |53| `getRuleForCategory` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/CompilerError.ts` | 781 |54| `nameAnonymousFunctions` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Transform/NameAnonymousFunctions.ts` | 14 |55| `assertExhaustive` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts` | 28 |56| `retainWhere` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts` | 33 |57| `getOrInsertWith` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts` | 58 |58| `Iterable_some` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/utils.ts` | 138 |59| `Ok` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/Result.ts` | 87 |60| `Err` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/Result.ts` | 165 |61| `isHookDeclaration` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/HookDeclaration.ts` | 13 |62| `isComponentDeclaration` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Utils/ComponentDeclaration.ts` | 13 |63| `inferTypes` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/TypeInference/InferTypes.ts` | 65 |64| `validateUseMemo` | Function | `React/React-source/compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateUseMemo.ts` | 24 |6566## Connected Areas6768| Area | Connections |69|------|-------------|70| ReactiveScopes | 53 calls |71| Transform | 17 calls |72| Validation | 16 calls |73| Ink | 11 calls |74| Inference | 8 calls |75| Entrypoint | 8 calls |76| Optimization | 5 calls |77| Scripts | 4 calls |7879## How to Explore80811. `gitnexus_context({name: "getRuleForCategory"})` — see callers and callees822. `gitnexus_query({query: "hir"})` — find related execution flows833. Read key files listed above for implementation details