)]}'
{
  "commit": "dae6029836c56f7657e5eefd275801b0336d8a55",
  "tree": "94217c68ea79768202ee7b42520cac116933d47f",
  "parents": [
    "7cdabe3fbb3b7e9ba14c74062f8b9788db7ff153"
  ],
  "author": {
    "name": "Jaebaek Seo",
    "email": "jaebaek@google.com",
    "time": "Thu Jan 25 15:38:36 2024 +0900"
  },
  "committer": {
    "name": "Yan Zhulanow",
    "email": "yan.zhulanow@jetbrains.com",
    "time": "Mon Feb 26 17:11:34 2024 +0900"
  },
  "message": "K2: Support dependency symbol providers for binary libraries\n\nWhen a symbol X from a binary library A uses another symbol Y from\nanother binary library B, `LLFirDependenciesSymbolProvider` cannot\nresolve Y for X. This is because the existing\nLLFirAbstractSessionFactory passes symbol providers for only builtin\nlibraries to `LLFirDependenciesSymbolProvider` even when the session has\ndependencies. As a result, when `LLFirDependenciesSymbolProvider`\nsearches a symbol, it can find only symbols from the builtin libraries,\nbut it cannot find a symbol from libraries other than builtin libraries.\nThis happens only for the binary libraries.\n\n^KT-65240 Fixed\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b7085cf9350a4c349ee5f135a60d501d20fc4537",
      "old_mode": 33188,
      "old_path": "analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/compilerFacility/FirIdeNormalAnalysisLibraryBinaryModuleMultiModuleCompilerFacilityTestGenerated.java",
      "new_id": "f1a9e7d05fe90e886c19fe330b2d016f87040edf",
      "new_mode": 33188,
      "new_path": "analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/components/compilerFacility/FirIdeNormalAnalysisLibraryBinaryModuleMultiModuleCompilerFacilityTestGenerated.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "331cd89d736d10c02e1cb36f0e3899bd8d1a0d14",
      "new_mode": 33188,
      "new_path": "analysis/analysis-api/testData/components/compilerFacility/compilationMultiBinaryModule/javaAnnotationWithVararg.ir.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c3d19f411ca040a0137268f9e9969c2ca7e9355",
      "new_mode": 33188,
      "new_path": "analysis/analysis-api/testData/components/compilerFacility/compilationMultiBinaryModule/javaAnnotationWithVararg.kt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "35260a6cb954f044323261701d298ded3e2cd232",
      "new_mode": 33188,
      "new_path": "analysis/analysis-api/testData/components/compilerFacility/compilationMultiBinaryModule/javaAnnotationWithVararg.txt"
    },
    {
      "type": "modify",
      "old_id": "6917e6e67fba49459cb7a67799eab638e76ae805",
      "old_mode": 33188,
      "old_path": "analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/LLFirAbstractSessionFactory.kt",
      "new_id": "199c6e42293ebff58d386a36f4b7d512074959da",
      "new_mode": 33188,
      "new_path": "analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/LLFirAbstractSessionFactory.kt"
    }
  ]
}
