JetBrains/intellij-scala
57.8
Adequate · 29 July 2026
613k
lines of production code
Scala
with Java
2
measurements over time
How this codebase got here
Score
- CAI 57 → 58 (+1.2)
- Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 100 → 100 (-0.1)
- Maturity 51 → 55 (+4.5)
- Readiness 74 → 74 (+0.0)
- Security 57 → 57 (+0.0)
- Accessibility 51 → 51 (+0.0)
Resolved (40)
- Change coupling: ExpressionTransformation.scala ↔ SpecialSyntheticMethodsTransformation.scala (scala/scala-impl/src/org/jetbrains/plugins/scala/lang/dfa/controlFlow/transform/ExpressionTransformation.scala)
- Change coupling: InvocationTransformation.scala ↔ SpecialSyntheticMethodsTransformation.scala (scala/scala-impl/src/org/jetbrains/plugins/scala/lang/dfa/controlFlow/transform/InvocationTransformation.scala)
- Change coupling: Sbt.scala ↔ Nodes.scala (sbt/sbt-api/src/org/jetbrains/sbt/Sbt.scala)
- Change coupling: Sbt.scala ↔ SbtNestedModuleDataService.scala (sbt/sbt-api/src/org/jetbrains/sbt/Sbt.scala)
- Change coupling: Sbt.scala ↔ SbtNotificationListener.scala (sbt/sbt-api/src/org/jetbrains/sbt/Sbt.scala)
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (10 lines × 2) (scala/test-integration/scalatest-finders/src/main/java/org/scalatest/finders/FunSpecFinder.java)
- Duplicated block (10 lines × 2) (scala/test-integration/test-runners/src/org/jetbrains/plugins/scala/testingSupport/specs2/JavaSpecs2Notifier.java)
- Duplicated block (10 lines × 2) (scala/test-integration/test-runners/src/org/jetbrains/plugins/scala/testingSupport/specs2/JavaSpecs2Notifier.java)
- Duplicated block (10 lines × 2) (scala/test-integration/test-runners/src/org/jetbrains/plugins/scala/testingSupport/specs2/JavaSpecs2Notifier.java)
- Duplicated block (10–24 lines × 2) (sbt/sbt-project-highlighting-tests/testdata/projectsForHighlightingTests/local/akka-samples/src/main/java/sample/java/persistence/PersistentActorFailureExample.java)
- Duplicated block (12 lines × 20) (scala/scala-impl/src/org/jetbrains/plugins/scala/lang/formatting/settings/ImportsPanel.java)
- Duplicated block (12 lines × 22) (scala/scala-impl/src/org/jetbrains/plugins/scala/lang/formatting/settings/ImportsPanel.java)
- Duplicated block (16 lines × 2) (scala/test-integration/test-runners/src/org/jetbrains/plugins/scala/testingSupport/scalaTest/ScalaTestRunnerArgs.java)
- Duplicated block (5 lines × 2) (scala/compiler-integration/src/org/jetbrains/plugins/scala/compiler/references/settings/CompilerIndicesSettingsForm.java)
- Duplicated block (5 lines × 2) (scala/repl/src/org/jetbrains/plugins/scala/console/configuration/ScalaConsoleRunConfigurationForm.java)
- Duplicated block (6–7 lines × 2) (scala/test-integration/test-runners/src/org/jetbrains/plugins/scala/testingSupport/scalaTest/ScalaTestReporter.java)
- Duplicated block (8 lines × 27) (scala/scala-impl/src/org/jetbrains/plugins/scala/lang/formatting/settings/ImportsPanel.java)
- Duplicated block (8 lines × 3) (scala/test-integration/scalatest-finders/src/main/java/org/scalatest/finders/FreeSpecFinder.java)
- Duplicated block (8–9 lines × 2) (sbt/sbt-project-highlighting-tests/testdata/projectsForHighlightingTests/local/akka-samples/src/main/java/sample/java/remote/calculator/CreationApplication.java)
- …and 20 more
New (44)
- Boundary-crossing change coupling: SbtUtil.scala ↔ ScalaDirectoryCompletionContributorBase.scala (sbt/sbt-impl/src/org/jetbrains/sbt/SbtUtil.scala)
- Boundary-crossing change coupling: SbtViewContributor.scala ↔ ScalaDirectoryCompletionContributorBase.scala (sbt/sbt-impl/src/org/jetbrains/sbt/project/SbtViewContributor.scala)
- Boundary-crossing change coupling: dataObjects.scala ↔ ScalaAbstractProjectDataService.scala (sbt/sbt-impl/src/org/jetbrains/sbt/project/data/dataObjects.scala)
- Change coupling: IdeaIncrementalBuilder.scala ↔ SbtBuilder.scala (scala/compiler-jps/src/org/jetbrains/jps/incremental/scala/IdeaIncrementalBuilder.scala)
- Change coupling: SbtProgramRunnerBase.scala ↔ SbtShellCommunication.scala (sbt/sbt-impl/src/org/jetbrains/sbt/runner/SbtProgramRunnerBase.scala)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (scala/test-integration/test-runners-spec2_2x/src/org/jetbrains/plugins/scala/testingSupport/specs2/JavaSpecs2Notifier_spec2x.java)
- Duplicated block (10 lines × 2) (scala/test-integration/test-runners-spec2_2x/src/org/jetbrains/plugins/scala/testingSupport/specs2/JavaSpecs2Notifier_spec2x.java)
- Duplicated block (10 lines × 2) (scala/test-integration/test-runners-spec2_2x/src/org/jetbrains/plugins/scala/testingSupport/specs2/JavaSpecs2Notifier_spec2x.java)
- Duplicated block (11 lines × 2) (scala/test-integration/test-runners/src/org/jetbrains/plugins/scala/testingSupport/scalaTest/ScalaTestRunnerArgs.java)
- Duplicated block (12 lines × 20) (sbt/sbt-impl/src/org/jetbrains/sbt/project/module/SbtModuleSettingsForm.java)
- Duplicated block (12 lines × 22) (sbt/sbt-impl/src/org/jetbrains/sbt/runner/SbtRunConfigurationForm.java)
- Duplicated block (16 lines × 2) (scala/test-integration/test-runners/src/org/jetbrains/plugins/scala/testingSupport/specs2/Spec2RunnerArgs.java)
- Duplicated block (5 lines × 2) (sbt/sbt-impl/src/org/jetbrains/sbt/project/module/SbtModuleSettingsForm.java)
- Duplicated block (5 lines × 2) (scala/debugger/src/org/jetbrains/plugins/scala/debugger/filters/ScalaDebuggerSettingsConfigurable.java)
- Duplicated block (6 lines × 2) (scala/test-integration/test-runners/src/org/jetbrains/plugins/scala/testingSupport/scalaTest/ScalaTestReporter.java)
- Duplicated block (8 lines × 27) (sbt/sbt-impl/src/org/jetbrains/sbt/project/module/SbtModuleSettingsForm.java)
- Duplicated block (8 lines × 3) (scala/scala-impl/src/org/jetbrains/plugins/scala/lang/lexer/ScalaLexer.java)
- Duplicated block (9 lines × 2) (sbt/sbt-project-highlighting-tests/testdata/projectsForHighlightingTests/local/akka-samples/src/main/java/sample/java/remote/calculator/CreationApplication.java)
- Further orphaned files (smaller)
- …and 24 more
Changes since last survey
- 63 commits — 41 feature/other, 22 fixes
By area
- scala/scala-impl — 42 commits
- (repo) — 5 commits
- sbt/sbt-shell-runtime-tests — 4 commits
- scala/structure-view — 3 commits
- project/dependencies.scala — 2 commits
- sbt/sbt-impl — 2 commits
- (root) — 1 commit
- pluginXml/resources — 1 commit
- project/TeamCityCommunityUtil.scala — 1 commit
- scala-cli/test — 1 commit
- scala/compiler-test-utils — 1 commit
Notable commits
- fix: Fix compilation after intellijVersion update to 262.9437.16
- fix: [build] Update the since-build field in plugin.xml after the intellijVersion update to 262.9437.16 #SCL-25719 fixed
- fix: [cleanup] fix ScalaDoc warnings in ImportUsed
- fix: [color scheme, highlighting] add configurable first-clause case class field colors #SCL-386240 fixed
- fix: [editor] add regression tests for type-alias inheritance gutter marker #SCL-10649 fixed
- fix: [editor] make Java overriding aware of Scala specialisations in generics #SCL-7463 fixed
- fix: [enums] model Java-compatible Scala enum constants #SCL-20012 fixed
- fix: [highlighting] apply Scala colon color scheme in editor #SCL-22117 fixed
- fix: [java interop] cover Java resolution from library TASTy #SCL-20975 fixed
- fix: [java interop] cover inherited class companion forwarders #SCL-20875 fixed
- fix: [java interop] expose synthetic Scala interfaces to Java hierarchy traversal #SCL-25708 fixed
- fix: [java interop] model inherited static forwarder types #SCL-25042 fixed
- fix: [light psi] normalize Java annotation conversion #SCL-25723 fixed
- fix: [light psi] normalize backticked annotation attributes #SCL-25723 fixed
- fix: [optimize imports] do not remove potentially used imports with unresolved references #SCL-21808 fixed
- fix: [overriders search, gutter] support exported members in navigation #SCL-25367 fixed
- fix: [overriders search] include self-type overrides in Go to Implementations #SCL-25367 fixed
- fix: [project wizard] Fall back to hardcoded Scala/sbt versions when the version download fails with a non-OK HTTP status #SCL-25707 fixed
- fix: [sbt shell] introduce a new Starting shell state representing the time after the shell has started but before it is ready #SCL-25667 fixed
- fix: [scaladoc] handle strikesthrough with only one tilde #SCL-25712 fixed
- …and 43 more
Architecture
- Unchanged — 0 containers · 1 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
JetBrains/intellij-scala was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 29 July 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 8c39730725e61c3d6916475c93520c756b7dd1b7 — the exact code this score is about.
- Scored under rubric-2026.08.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer latest.