Consider reading fir-basics.md.
compiler/frontend/ - uses PSI and BindingContextcompiler/fir/ - Frontend IR, the new compiler frontendFIR processes code through sequential phases (see FirResolvePhase.kt).
Key invariant: In phase B following phase A, all FIR elements visible in B are resolved to phase A.
Located in compiler/ir/. Backend IR is used by all targets for:
Backend implementations:
compiler/ir/backend.jvm/ - JVM backendcompiler/ir/backend.js/ - JavaScript backendcompiler/ir/backend.wasm/ - WebAssembly backendkotlin-native/backend.native/, native/ - Native backendFor type inference implementation details, read inference.md.
compiler/fir/), use FIR: prefix in the commit subject line.For FIR analysis test data format (directives, diagnostic markers, file structure), see analysis-tests/AGENTS.md.