Commit Graph

22 Commits

Author SHA1 Message Date
Yan Zhulanow f6f667c387 [LL API] Adjust services required by LLFirBuiltinsSessionFactory
As 'initialiseVirtualFileFinderServices()' that is run during
test initialization collects transitive dependencies, all of them
must be ready. However, 'KtNotUnderContentRootModuleForTest' has a
built-in dependency provided by 'LLFirBuiltinsSessionFactory'.
2023-01-25 08:04:40 +00:00
Marco Pennekamp a777ffcd8a [AA] KT-55566 StandaloneProjectFactory: Setup JDK default module roots
- Setup JDK default module roots in `StandaloneProjectFactory` (compare
  with `KotlinCoreEnvironment`). The implementation is a distilled
  version of `ClasspathRootsResolver`'s default module handling.
- This fixes an issue where some LL FIR tests with JDK 17 and 11 had
  mismatched types between Kotlin and Java sources.

^KT-55566 fixed
2023-01-04 11:46:11 +00:00
Marco Pennekamp e68111c218 [AA] KT-55566 StandaloneProjectFactory: Setup Java language level before Java files are parsed
- LL FIR tests with Java `record` classes and other new syntax features
  failed because `file.packageName` in `findJvmRootsForJavaFiles`
  caused the Java file to be parsed before the Java language level was
  configured. The Java language level is now set up in
  `registerJavaPsiFacade`, which is early enough.
2023-01-04 11:46:10 +00:00
Jinseong Jeon 5bf333f6f5 AA: look up built-ins module for deserialized declarations from built-ins 2022-09-17 16:43:10 +02:00
Jinseong Jeon 1b79ee89ba AA: drop ProjectStructureProvider#getKtBinaryModules
Instead, provide an option to register PSI declaration provider inside
Analysis API session builder where we can retrieve all necessary pieces,
including CoreJarFileSystem, PackagePartProvider, and binary modules
from internal project structure provider.
2022-08-17 19:16:18 +02:00
Ilya Kirillov dd00062559 [analysis] introduce KtBuiltinsModule and remove hacks related to the stdlib module search 2022-07-19 17:17:33 +02:00
Ilya Kirillov dc4527462f [LL FIR] create separate library session for each library 2022-07-19 17:17:33 +02:00
Jinseong Jeon 20d618c0a8 AA: populate CorePackageIndex
so that annotations in package-info.java can be propagated properly
2022-06-28 11:44:41 +02:00
Jinseong Jeon 4af2fcd633 AA: handle lib directory as a binary root 2022-06-21 11:34:09 +02:00
Jinseong Jeon 814920b344 AA: restore JavaRoot from binary roots in JDK module 2022-06-21 11:34:09 +02:00
Jinseong Jeon abdc2cf85e AA: populate SingleJavaFileRootsIndex properly 2022-06-16 22:14:18 +02:00
Jinseong Jeon 5c147c1ded AA: fail-safe binary root lookup 2022-06-09 10:35:17 +02:00
Jinseong Jeon c1b2469e51 AA: register CoreJavaFileManager
in a similar way
KotlinCoreEnvironment.ProjectEnvironment.registerJavaPsiFacade does
2022-06-09 10:35:17 +02:00
Jinseong Jeon af053fd8f3 AA: fail-safe JvmRoot lookup 2022-06-09 10:35:17 +02:00
Jinseong Jeon aef3df0336 AA: introduce AA session and builder 2022-06-09 10:35:16 +02:00
Jinseong Jeon 5585d84808 AA: make utils in StandaloneProjectFactory more general 2022-06-09 10:35:16 +02:00
Jinseong Jeon 355fd48782 AA: remove test prefix at non-test module 2022-06-09 10:35:15 +02:00
Jinseong Jeon e830778b46 AA: fix typo in StandaloneProjectFactory 2022-05-09 00:22:53 +02:00
Jinseong Jeon 3f05ba04a9 AA: add JDK_HOME as dependent SDK module 2022-05-09 00:22:52 +02:00
Ilya Kirillov 2649788b87 [analysis api fir] put every library into a separate KtModule in tests 2022-04-13 12:53:22 +02:00
Ilya Kirillov 252d8e283b [low level fir] create separate FirModuleData for every library module dependency 2022-04-13 12:53:21 +02:00
Ilya Kirillov 4bd7fed1ea [analysis api, test] rework test infrastructure, add multimodule tests 2022-04-13 12:53:01 +02:00