Commit Graph

107819 Commits

Author SHA1 Message Date
Anna Kozlova 82d52ef6fc [psi] add parenthesis around a nullable functional type text
^KT-64862 fixed
2024-01-11 10:05:21 +00:00
Roman Golyshev c3a61f539b KT-64832 KT-61032 [FIR] Correctly handle extension receiver from implicit invoke calls in UnusedChecker
- use `FirImplicitInvokeCall` instance check to detect implicit calls,
it is cleaner than checking particular resolve type and "invoke" name
- reuse `visitQualifiedAccesses` to update the CFG instead of manually
searching through the `localProperties` (because it didn't work in the
case of overloads)

^KT-64832 Fixed
^KT-61032 Fixed
2024-01-11 09:58:04 +00:00
Roman Golyshev 0cad4c9632 KT-64832 [FIR] Add more testData for invoke on local variables
Covers:
- suspend functional local variables
- overloads
- custom types with invoke operator
2024-01-11 09:58:04 +00:00
Roman Golyshev 2c90f1327d KT-61032 [FIR] Add testData for invoke on K*Function* local variables
N.B. Method references currently also implicitly have such type
2024-01-11 09:58:04 +00:00
Dmitriy Dolovov 6951efe63c Metadata comparator: Support new metadata attributes (see below)
Support new metadata attributes that were added to Kotlin metadata
but are not yet supported in `MetadataDeclarationsComparator`:
- DNN type flag
- context receivers
- underlying type & property name for inline classes

^KT-62753
2024-01-11 09:26:41 +00:00
Timofey Solonin 59b8941c28 Remove ModuleResult.Missing from commonization results
This result seems to not be used

^KT-51026
2024-01-11 08:57:28 +00:00
Artem Daugel-Dauge b70c50cd1f [Gradle] Add integration tests for building through xcode with embedAndSign task
Including checks:
* running embedAndSign through a build phase
* running embedAndSign through a scheme pre-action script
* running embedAndSign through a scheme pre-action script and using Kotlin framework in local SPM package
* absense of explicit '-framework' linker flag

^KT-62376
^KT-63819
2024-01-11 08:23:50 +00:00
Artem Daugel-Dauge af4d5605ca [Gradle] Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign task
^KT-63821 Verification Pending
2024-01-11 08:23:50 +00:00
Vladimir Sukharev b78455093e [K/N][Tests] Adapt test single_tls_load.kt to optional inline of EnterFrame 2024-01-10 23:31:00 +00:00
Vladimir Sukharev 3c8e7bdfb1 [K/N][Tests] Refactor to AssertionsMode.assertionsEnabledWith() 2024-01-10 23:31:00 +00:00
Vladimir Sukharev 86c88c0c77 [K/N][Tests] Ignore alwaysDisable test which fails without caches
^KT-64868
2024-01-10 23:31:00 +00:00
Vladimir Sukharev fee2a20a55 [K/N][Tests] Support test directive ASSERTIONS_MODE
^KT-64844 Fixed
2024-01-10 23:31:00 +00:00
Vladimir Sukharev 809d652bdf [K/N][Tests] Change assertions and runtime assertions modes to default, when optimizationMode=OPT
^KT-64844 Fixed
2024-01-10 23:31:00 +00:00
Yahor Berdnikau 2a55aa782d Revert "[Gradle] Add dsl marker to KotlinSourceSet"
This reverts commit eb663117c7.
2024-01-10 22:10:59 +00:00
Yahor Berdnikau e8704cc556 Revert "[Gradle] Add deprecated accessor to sourceSets inside KotlinSourceSet"
This reverts commit 5fba2962b9.
2024-01-10 22:10:59 +00:00
Dmitrii Gridin cf290a73fc [Analysis API] migrate AbstractSymbolLightClassesTestBase to doTestByMainModuleAndOptionalMainFile
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 1aa2377c60 [Analysis API test] rename AbstractLowLevelApiModifiablePsiSingleFileTest to AbstractLowLevelApiModifiablePsiTest
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 6145255e2c [Analysis API test] extract AbstractPsiDeclarationProviderTest
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 0f3f0ff080 [Analysis API test] rename AbstractPsiDeclarationProviderMultiModuleBinaryTest to AbstractPsiDeclarationProviderBinaryTest
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 79a8b6de1f [Analysis API test] rename AbstractPsiDeclarationProviderSingleModuleTest to AbstractPsiDeclarationProviderSourceTest
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 052622b862 [Analysis API test] migrate more tests from doTestByModuleStructure to doTestByMainFile
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin cbae92f5c6 [Analysis API test] get rid of AbstractAnalysisApiSingleFileTest
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 476940c06b [Analysis API test] get rid of AbstractAnalysisApiBasedSingleModuleTest
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 095989b6fc [LL FIR] ger rid of AbstractLowLevelApiLastModuleFirstFileTest
Now this class is redundant and all tests migrated to the base class

^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 84d07ef492 [LL FIR] ger rid of AbstractLowLevelApiSingleFileTest
Now this class is redundant and all tests migrated to the base class

^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin f8d95eceb7 [Analysis API] AbstractAnalysisApiBasedTest: implement test entry points to avoid boilerplate on implementation side
There are three test entry points:
* [doTestByMainFile] – test cases with dedicated main file.
Supports everything from single-file cases to multi-platform multi-module
multi-file cases
* [doTestByMainModuleAndOptionalMainFile] – test cases rather around
modules than files
* [doTestByModuleStructure] – all other cases with fully custom logic

Look at the KDoc of the corresponding method for more details.

^KT-64805 Fixed
2024-01-10 22:07:03 +00:00
Dmitrii Gridin b67deea21f [Analysis API] introduce getKtFiles util
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin d828a646cf [Analysis API] move allKtFiles util from LL FIR module
^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 1c2fac41c2 [Analysis API] ExpressionMarkerProvider: fix path for selected expressions
We are storing them by file path, but accessing them by
file name, which is inconsistent

^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin a7984c6794 [Analysis API] ExpressionMarkerProvider: do not expose implementation details
And add API for selected expressions

^KT-64805
2024-01-10 22:07:03 +00:00
Dmitrii Gridin 663b7fb76f [Analysis API] AbstractAnalysisApiBasedTest: introduce entry point for tests with main file
Pulled up the implementation from AbstractCompilerFacilityTest

^KT-64805
2024-01-10 22:07:03 +00:00
Alexander Korepanov 6df0e0c847 [JS FIR] Enable FirJsLineNumberTests for FIR
^KT-64426 Fixed
2024-01-10 19:02:15 +00:00
Alexander Korepanov ac30911497 [JS tests] Split FIR and IR output test dirs 2024-01-10 19:02:15 +00:00
Artem Kobzar 48f8f8af5f [K/JS] Fix useEsModules and useCommonJs DSL-functions ^KT-64561 Fixed 2024-01-10 18:22:08 +00:00
Artem Kobzar 300702a7e7 [K/JS] Create JavaScript Simple Object plugin that helps create typed JS objects 2024-01-10 16:30:02 +00:00
Jinseong Jeon 45b8f99107 SLC: distinguish last v.s. non-last vararg during binary resolution
^KT-64795 fixed
2024-01-10 15:36:40 +00:00
Denis.Zharkov 2bdadeb0c8 Fix instability of declaration order of KotlinStaticDeclarationProvider
It affects how some rendering-related tests behave

^KT-64771 Fixed
2024-01-10 14:56:31 +00:00
Denis.Zharkov 7e4d9d9f64 K2: Add new tests for PCLA implementation
Many of them have been found & minimized at FP tests/user projects

^KT-59791 Fixed
2024-01-10 14:56:31 +00:00
Denis.Zharkov 90feeab076 K2: Temporary mute controversial K2 IDE test after PCLA implementation
^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Denis.Zharkov 8365eb54dd K2: Adjust test data after PCLA implementation [multiLambdaRestriction]
^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Denis.Zharkov b9019d3de1 K2: Adjust test data after PCLA implementation [red-to-green]
^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Denis.Zharkov 8459465177 K2: Adjust test data after PCLA implementation [green-to-red, controversial]
^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Denis.Zharkov f945dce4c8 K2: Adjust test data after PCLA implementation [green-to-red]
^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Denis.Zharkov 6052e24626 K2: Adjust test data after PCLA implementation [red-to-red]
^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Denis.Zharkov 276f5b26d8 K2: Implement partially constrained lambda analysis (PCLA)
It's expected to partially mimic the behavior of what
previously was called builder inference, but with more clear contracts
(documentation is in progress, though)

See a lot of fixed issues in the later commits with test data,
especially [red-to-green]

^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Denis.Zharkov 9ae5287df8 K2: Pass resolution mode to CallInfo
It's going to be used for PCLA implementation in later commits

^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Denis.Zharkov 3b2bc49c4d K2. Drop PostponedVariablesInitializerResolutionStage
It would be unnecessary after PCLA approach would be implemented

^KT-59791 In progress
2024-01-10 14:56:30 +00:00
strangepleasures bb8ff9e299 KT-62584 Fix generation of type arguments for local classes
Merge-request: KT-MR-13684
Merged-by: Pavel Mikhailovskii <Pavel.Mikhailovskii@jetbrains.com>
2024-01-10 14:20:09 +00:00
Ilya Goncharov b645997dc4 [Gradle, JS] Use dev server not as property in KotlinWebpackConfig 2024-01-10 12:41:53 +00:00
Leonid Startsev fba2f5ea4e Expand most kotlinx.serialization tests on JS backend
to enhance and increase test coverage of the plugin.
2024-01-10 12:17:34 +00:00