Commit Graph

96140 Commits

Author SHA1 Message Date
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
Simon Ogorodnik 72615ee845 Code owners. Add Compiler Core to box test ownership 2022-11-15 10:12:33 +00:00
Simon Ogorodnik 2d8254a4db Code owners. Widen ownership for various generated tests 2022-11-15 10:12:33 +00:00
Nikolay Lunyak 267ce1d892 [FIR] KT-54220: Don't crash on unsigned integers when no stdlib present
^KT-54220 Fixed
2022-11-15 09:02:33 +02:00
Nikolay Lunyak b03e14f565 [FIR] Get rid of field duplication in body resolve transformers 2022-11-14 22:40:41 +02:00
Nikolay Lunyak e34dd49872 [FIR] Get rid of the argumentMapping function.
It's just a duplicate of `resolvedArgumentMapping`. Plus there is a
member with the same name inside `FirAnnotationCall`.
2022-11-14 22:40:41 +02:00
Nikolay Lunyak 89f8821d0a [FIR] KT-53371, KT-53519: Fix annotations arguments mapping
See: compiler/testData/asJava/lightClasses/
AnnotatedParameterInInnerClassConstructor.kt

The muted tests don't work with the (KT-53371, KT-53519)-related
changes. During this test happens an attempt to access unresolved
annotations via CustomAnnotationTypeAttribute.
Discussion: KTIJ-23547
2022-11-14 22:40:41 +02:00
Nikolay Lunyak 6653f654ec [FIR] Add the missing transformPropertyAccessor override
Otherwise, `transformPropertyAccessor` from
`FirDeclarationsResolveTransformerForArgumentAnnotations` is
never called

See:
- compiler/testData/asJava/ultraLightFacades/properties.kt
- analysis/analysis-api/testData/symbols/symbolByPsi/
  contextReceivers/contextReceiversOnProperty.kt
2022-11-14 16:55:08 +02:00
Pavel Kunyavskiy ef54a6d7cb [K/N] Fix calls checker use-after-free in main thread deinit
Calls checker was trying to read thread state while unlocking mutex in
unregister thread function. At this point thread is already
unregistered and reference to current thread node is dangling.

To avoid this, we nullify this reference in advance, as its anyway
explicitly passed to unregister function, not read from global.
2022-11-14 14:25:01 +00:00
Dmitrii Gridin b7b221d261 Code ownership: /compiler/light-classes/ 2022-11-14 14:24:01 +00:00