Commit Graph

96149 Commits

Author SHA1 Message Date
Sebastian Sellmair 7c00f6447d [Gradle] Implement IdeaKotlinDependencyForwardCompatibilityTest
KT-54825
2022-11-17 07:38:42 +00:00
Sebastian Sellmair 66cb2b3ad8 [Gradle] Implement IdeaKotlinDependencyBackwardsCompatibilityTest
KT-54825
2022-11-17 07:38:42 +00:00
Sebastian Sellmair 31b7fd9a1f [Gradle] Implement TestIdeaKotlinDependencySerializer
KT-54825
2022-11-17 07:38:41 +00:00
Sebastian Sellmair 0fa92315ff [Gradle] kgp-idea: Update testedVersion to 1.8.20-dev-2192 for compatibility tests
KT-54825
2022-11-17 07:38:41 +00:00
Sebastian Sellmair 7e1ad71996 [Gradle] kgp-idea: Demote stdlib dependency to compileOnly
KT-54825
2022-11-17 07:38:41 +00:00
Sebastian Sellmair 585045c599 [Gradle] kotlin-tooling-core: Demote stdlib dependency to compileOnly
KT-54825
2022-11-17 07:38:40 +00:00
Sebastian Sellmair 39904fe54b [Gradle] Update kgp-idea and kgp-idea-proto API reference
KT-54825
2022-11-17 07:38:40 +00:00
Sebastian Sellmair 786adcaf3f [Gradle] kgp-idea.serialize: Change naming schema from Idea* to IdeaKotlin*
KT-54825
2022-11-17 07:38:40 +00:00
Sebastian Sellmair 224a237385 [Gradle] Implement IdeaKotlinObjectGraphTest and fix discovered issues
KT-54825
2022-11-17 07:38:39 +00:00
Sebastian Sellmair 9771e57951 [Gradle] Implement IdeTransformedMetadataDependencyResolver
KT-54825
2022-11-17 07:38:39 +00:00
Sebastian Sellmair 687ccda3e8 [Gradle] Implement protobuf for kgp-idea/tcs
KT-54825
2022-11-17 07:38:38 +00:00
Sebastian Sellmair f3998d523d [Gradle] Move IdeDependency into kgp-idea module and share serializer logic
KT-54825
2022-11-17 07:38:38 +00:00
Sebastian Sellmair 1befefc687 [Gradle] o.j.k.kgp-integration-tests: Opt into InternalKotlinGradlePluginApi
KT-54825
2022-11-17 07:38:38 +00:00
Sebastian Sellmair 405c94e0bb [Gradle] Initial port of IdeaKpmProjectModelBuilder into TCS IdeMultiplatformImport
KT-54825
2022-11-17 07:38:37 +00:00
Anna Kozlova c727dbb8ca [fir compiler] ensure type parameters are included in the resolve scope
to resolve the next parameter bounds (KTIJ-23674)
2022-11-16 22:25:02 +00:00
Aleksei.Cherepanov 3fc91b013d Suppress warning for mvn+kapt+jdk9
Suppress the warning about lack of tools.jar, as this jar does not present in JDK9+

#KT-47110 Fixed

Merge-request: KT-MR-7566
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com>
2022-11-16 20:02:57 +00:00
Ilya Kirillov 8dab560d6e [LL FIR] fix status resolution of static enum members
Before, BODY_RESOLVE phase were used for them but status may be unresolved.
This caused CCE on accessing resolved status for such static enum members.

Now, those declarations are created with the status of owning enum as the status is taken from that class.
2022-11-16 19:44:18 +00:00
Anton Bannykh 84650d08af CODEOWNERS: cli-js belongs to JS and WASM 2022-11-16 17:21:31 +00:00
Pavel Kunyavskiy c04e1b6ce7 [K/N] Better fix for calls checker use-after-free in main thread deinit 2022-11-16 15:15:07 +00:00
Denis.Zharkov 3429bccf9a Change ownership for generated diagnostic tests to Compiler Core 2022-11-16 14:38:39 +00:00
Nikita Bobko 4f68684eba Postpone non-local break and continue feature till K2
Postpone because we found a bug KT-54906 in CFA/DFA in K1 which we are
not going to fix in K1

Meta-issue: KT-1436
2022-11-16 13:17:02 +00:00
Jinseong Jeon fcba1f215a AA: handle erroneous type in nested type argument 2022-11-16 14:13:43 +01:00
Mikhail Glukhikh ac514849f4 K1: add deprecation for implicit non-public calls #KT-54762 Fixed 2022-11-16 12:27:12 +00:00
Alexander Korepanov f4b5f5ff5d [JS IR] Take default params into account for calculating an IC hash
^KT-54895 Fixed
2022-11-16 12:25:11 +00:00
Alexander Korepanov f7063555ca [JS IR] Fix the instability of LoweredDeclarationSignature
A suspend stub for the abstract function
 may be created in the context of the child function.
 If on an incremental rebuild the stub is created from
 the parent context (e.g. a file with the child is not modified),
 the resulting LoweredDeclarationSignature will be different.
 It will lead to a broken cross-module reference and broken JS code.
 Therefore it is required to wrap the creation routine
 into StageController::restrictTo() explicitly.

^KT-54934 Fixed
2022-11-16 12:24:48 +00:00
Aleksei.Cherepanov fb38ab3cbb Add integration tests for 1adc2426
#KT-29346 Fixed
2022-11-16 11:47:47 +01:00
Alexander Shabalin 504fcd5b71 [K/N] C++ files inside kotlin-native/ have special owners
Merge-request: KT-MR-7674
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-11-16 10:03:09 +00:00
Dmitrii Gridin 36f9a8b7b8 [AA] fix symbol pointer for setter
^KT-54311
2022-11-15 21:37:27 +00:00
Yahor Berdnikau 49a5e9b91d Allow to suppress kotlinOptions.freeCompiler args modification warning
It could be done via 'gradle.properties':
'kotlin.options.suppressFreeCompilerArgsModificationWarning=true'

^KT-54888 Fixed
2022-11-15 16:52:02 +00:00
Dmitrii Gridin 2d6fb8a99a .idea/codeStyle: fix format to avoid changes in git 2022-11-15 17:36:28 +01:00
Yan Zhulanow e21226d02a [SLC] Ignore callables with invalid or absent names (KTIJ-23584) 2022-11-15 16:13:59 +00:00
Yan Zhulanow 6fe989b4b4 [LC] Provide proper parent element for private properties (KTIJ-23449)
Before, no parent element was returned for an object literal inside a
private property initializer, as only the getter was considered as a
potential parent.

Relevant tests are added on the IDE side (see 'LightClassBehaviorTest').
2022-11-15 16:13:59 +00:00
Jaebaek Seo 1a5a6474d6 Support TargetPlatform.isJs() for FIR 2022-11-15 16:50:17 +01:00
Jaebaek Seo f8a101cf3a Add KtType.isArrayOrPrimitiveArray/isNestedArray() to AA 2022-11-15 16:50:17 +01:00
Pavel Mikhailovskii 4436ce22b0 Generate meaningful bytecode names for extension receivers in INDY lambdas 2022-11-15 15:38:34 +00:00
Denis.Zharkov 2953e600ff K1: Deprecate incorrect callable references resolution behavior
^KT-54316 Related
^KT-54832 Fixed
2022-11-15 15:06:58 +00:00
Denis.Zharkov a3fd63fb1d Rename CompanionInParenthesesLHSCallChecker.kt -> CompanionLHSRelatedCheckers.kt 2022-11-15 15:06:58 +00:00
Yan Zhulanow 89c9646e2f [FE] Restore source compatibility in KtPsiFactory
Prevent huge code migration in kt- release branches by returning the
previously available API in deprecated status.
2022-11-15 14:58:39 +00:00
Alexander Shabalin a31c3f979b [K/N] Benchmarks on weak references
Merge-request: KT-MR-7575
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-11-15 13:22:15 +00:00
Zalim Bashorov ab590e1279 [Wasm, stdlib] Change visibility for wasm_* helper functions to internal 2022-11-15 12:55:10 +01:00
Zalim Bashorov 2fc6cea681 [Wasm] Migrate to the new GC M6 instructions 2022-11-15 12:55:10 +01:00
Pavel Kunyavskiy 838d419a84 [K/N] Fix stack overflow in DirectedGraphCondensationBuilder
^KT-54732
2022-11-15 11:39:17 +00:00
Zalim Bashorov 0c16415d26 [Wasm, stdlib] Change owner of runtime part of wasm-stdlib to "Kotlin Wasm" 2022-11-15 12:33:31 +01:00
Igor Chevdar 2353414959 [K/N][optmz] Another way of resolving escape analysis divergence
The idea is the following: if the analysis for some strongly connected
component seems not to be converging, reanalyze it again considering
all backward edges (i.e. leading to cycles) pessimistic,
basically treating the corresponding calls as external ones.

This helps to have more reasonable results for not-converging components still leaving
the chance for them to converge optimistically first.
2022-11-15 10:39:20 +00:00
Igor Chevdar 97a2ee6f2f [K/N][optmz] Fixed a bug with singletons in the call graph 2022-11-15 10:39:20 +00:00
Igor Chevdar c6ef3d849e [K/N][optmz] Fixed a problem with call graph
Previously it was considered that function references leaking to
the native world are being called at their definitions. This is wrong,
as it is impossible to deduce from the Kotlin code alone when they
will be called, so just simply assume them a part of the root set.
2022-11-15 10:39:19 +00:00
Igor Chevdar df371e8f17 [K/N][optmz] Fixed a bug in the escape analysis algorithm
Because of the problem, some edges in the points-to graph
might be lost (related to singletons and arrays).
2022-11-15 10:39:19 +00:00
Igor Chevdar 4fd64fad2f [K/N][optmz] Better escape analysis divergence handling 2022-11-15 10:39:18 +00:00
Igor Chevdar 8ed6c1a06c [K/N][optmz] Fixed bug with losing a part of the call graph
The bug might have happened on a failed to have been devirtualized
callsite as some of the potential callees might have been lost.
The commit solves the issue rather conservatively by simply adding
all those potential callees to the root set.
2022-11-15 10:39:18 +00:00
Igor Chevdar 8a03313818 [K/N][optmz] Fixed a minor bug with DataFlowIR
Because of the bug, hanging (detached from the graph) NewObject nodes
would be created. The escape analysis algorithm then happily would
decide to allocate them on the stack, thus spoiling the statistics
about actual percentage of objects allocated on the stack.
2022-11-15 10:39:18 +00:00