)]}'
{
  "commit": "eebee55a7889eb2ec333877ac8a638f5fce8c88d",
  "tree": "4fddcbeb59892aff0a8a848712fcba425ed49f3a",
  "parents": [
    "229e0378ae192e1a217c9824603e9f8b69faf14b"
  ],
  "author": {
    "name": "Ilya Chernikov",
    "email": "ilya.chernikov@jetbrains.com",
    "time": "Tue Oct 20 20:54:13 2026 +0200"
  },
  "committer": {
    "name": "Ilya Chernikov",
    "email": "ilya.chernikov@jetbrains.com",
    "time": "Thu Oct 22 10:12:30 2026 +0200"
  },
  "message": "Java Direct: Classify qualifiers of constant references left to right\n\nThe cross-language constant resolver split the class qualifier of a\nreference like `p.X.Y.C` (written in code or brought by a single-static\nimport) at its last dot. So it never found the nested class `p.X.Y`,\nand when a package `p.X` came from another module, it took the constant\nfrom the class `Y` of that package, unlike javac. A qualifier like\n`X.Y`, with `X` imported, did not resolve at all.\n\nResolve the qualifier as a type name instead, classifying it left to\nright (JLS 6.5.4.2) as java-direct does for other qualified names, and\nthe class of a single-static import as an imported name. The resolved\nclass is passed to the resolver, which only splits the string for JVM\nfacade classes now.\n\nThe PSI Java facade still resolves the static import to the class of\nthe package (KT-90484), so the test is pinned to java-direct.\n\n^KT-90485 fixed\n\nCo-authored-by: Junie \u003cjunie@jetbrains.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d090957f14333f29175124230d623ec7bb908676",
      "old_mode": 33188,
      "old_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/model/JavaAnnotationOverAst.kt",
      "new_id": "912118f552ab09076a12f30125dfda1b89f04b31",
      "new_mode": 33188,
      "new_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/model/JavaAnnotationOverAst.kt"
    },
    {
      "type": "modify",
      "old_id": "f53e859be026adb71a11e5a38b64a48dc42081b8",
      "old_mode": 33188,
      "old_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/model/JavaMemberOverAst.kt",
      "new_id": "645229684b6f5bd8cd5829c6db81082004aa5101",
      "new_mode": 33188,
      "new_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/model/JavaMemberOverAst.kt"
    },
    {
      "type": "modify",
      "old_id": "e9da651d54c4361bb706ad06c291aebc9f0e1ab6",
      "old_mode": 33188,
      "old_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/resolution/JavaExternalConstResolver.kt",
      "new_id": "5550bffa855e7c6726e58c66ce5bc67a46290c5f",
      "new_mode": 33188,
      "new_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/resolution/JavaExternalConstResolver.kt"
    },
    {
      "type": "modify",
      "old_id": "e197ac9affb3cc6832bf4d89e4927684fd4cd11c",
      "old_mode": 33188,
      "old_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/resolution/JavaTypeResolver.kt",
      "new_id": "605f9524b458d8ee46454cbd3ab542a15e56679f",
      "new_mode": 33188,
      "new_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/resolution/JavaTypeResolver.kt"
    },
    {
      "type": "modify",
      "old_id": "48dc9fe26ffa9aebc0571e3eef21514958d792c3",
      "old_mode": 33188,
      "old_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/util/ConstantEvaluator.kt",
      "new_id": "9b6d9c7065a93d4f26627054a07726f46264e82e",
      "new_mode": 33188,
      "new_path": "compiler/java-direct/src/org/jetbrains/kotlin/java/direct/util/ConstantEvaluator.kt"
    },
    {
      "type": "modify",
      "old_id": "6c69aaaf061c330246c72275575a3f1971553907",
      "old_mode": 33188,
      "old_path": "compiler/java-direct/test/org/jetbrains/kotlin/java/direct/JavaConstantEvaluatorTest.kt",
      "new_id": "dea051d4850148396291c1a01ce96e55be10bf32",
      "new_mode": 33188,
      "new_path": "compiler/java-direct/test/org/jetbrains/kotlin/java/direct/JavaConstantEvaluatorTest.kt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9cf78a9edfd7a6b89595b1421e3dc2c496f71009",
      "new_mode": 33188,
      "new_path": "compiler/testData/codegen/box/javaDirect/nestedClassConstantShadowedByPackage.kt"
    }
  ]
}
