Commit Graph

100557 Commits

Author SHA1 Message Date
Dmitrii Gridin 2a00be916a [SLC] SymbolLightAccessorMethod: avoid symbol restoring on isValid
^KTIJ-25108 Fixed
2023-04-24 11:53:36 +00:00
Alexander Udalov 9ec78e1aa9 K2: remove JAVA_SHADOWED_PROTECTED_FIELD_REFERENCE error
This is a partial revert of 949a39b80f. In the end it turned out not
necessary to prohibit this case (and perform a breaking change), because
JVM backend was fixed to generate it correctly in d73d3c46e2.

 #KT-55307 Declined
 #KT-55846 Declined
2023-04-24 11:45:55 +00:00
Dmitrii Gridin 0ccae0d4c6 [SLC] unmute some tests 2023-04-24 11:42:06 +00:00
Jinseong Jeon 8544081c46 SLC: enable enum test case 2023-04-24 11:42:06 +00:00
Ilya Goncharov 5763acbd31 [Gradle, JS] Remove useCoverage fun
^KT-58199 fixed
2023-04-24 11:39:06 +00:00
Ilya Kirillov e32bcc2c83 Move IDE extension points from compiler.xml to the IDE repository
And remove `org.jetbrains.kotlin.moduleBuilder` as it's not used anymore

^KTIJ-25304 fixed
2023-04-24 09:25:13 +00:00
Dmitriy Novozhilov 2087a7c899 [FIR] Store generated declarations in the session component
Also extract generated declarations for classes from declaration site
  session, not use site

^KT-57821 Fixed
2023-04-24 09:22:30 +00:00
Dmitriy Novozhilov c6f5cf3e62 [FIR] Rename FirGeneratedClassDeclaredMemberScope.kt to FirGeneratedScopes.kt 2023-04-24 09:22:30 +00:00
Igor Chevdar 3e0196da89 [K/N][IR] Used liveness analysis in the coroutines lowering
Liveness analysis results are used for spilling variables before
suspending a coroutine
2023-04-24 09:57:16 +03:00
Igor Chevdar 4e661a6337 [IR] Liveness analysis
Compute actually used variables for specified IR nodes
2023-04-24 09:57:06 +03:00
Igor Chevdar 6a79163205 [K/N][IR] Extracted a common util function 2023-04-24 09:36:43 +03:00
Igor Chevdar cf58e5ff9f [K/N] Extracted some common BitSet utils 2023-04-24 09:36:43 +03:00
Anton Bannykh c839fdca3e [JS IR] initial support for KLIB incremental compilation with K2 2023-04-23 14:47:48 +02:00
Zalim Bashorov a9683bd4a8 Wasm: temporary force keeping Unit_getInstance in DCE 2023-04-22 17:41:23 +00:00
Zalim Bashorov 77491ded1b Use Array constructor with size to create Array of nulls
Change the constructor visibility from public to private as it should be.
2023-04-22 17:41:23 +00:00
Mads Ager a6520a294b [K2] Local property accessors are always default. 2023-04-21 23:40:41 +02:00
Mads Ager 3795fc1106 [K2] Fix stable parameter name metadata. 2023-04-21 23:40:41 +02:00
Mads Ager 3a8f1ca690 [K2] Type parameter metadata handling. 2023-04-21 23:40:41 +02:00
Mads Ager 73191ff9bc [K2] Add version requirement for definitely non-null types to metadata. 2023-04-21 23:40:40 +02:00
Mads Ager 1f3b8142a8 [K2] Enable tests for hasConstant field on properties in metadata. 2023-04-21 23:40:40 +02:00
Mads Ager f7171f01ae [K2] Enable tests for metadata for nested types. 2023-04-21 23:40:40 +02:00
Dmitrii Gridin 63e6816a50 [LL FIR] avoid body resolve on attempt to build symbol for type parameters
^KT-57850
2023-04-21 17:21:36 +00:00
Dmitrii Gridin 5a53d796e1 [LL FIR] add more tests on lazy resolve for type parameters
^KT-57850
2023-04-21 17:21:36 +00:00
Dmitrii Gridin 9fe77d6a56 [LL FIR] avoid body resolve on attempt to build symbol for parameters
^KT-57850
2023-04-21 17:21:36 +00:00
Dmitrii Gridin 3394097f47 [LL FIR] run lazy resolve tests by caret
To test production resolveToFirSymbol entry point

^KT-57850
2023-04-21 17:21:36 +00:00
Dmitrii Gridin 6b3e49e824 [AA FIR] correctly restore declaration with annotation with argument inside some type from symbol pointer
ConeAttributes can have some non-stable info, so we shouldn't render it

Also reduce resolve from IMPLICIT_TYPES_BODY_RESOLVE to TYPES where it is possible

^KT-58141 Fixed
2023-04-21 17:21:36 +00:00
Dmitrii Gridin 866e8a26c7 [FIR] set correct resolve phase for default getter, setter and backing field
^KT-58163 Fixed
2023-04-21 17:21:17 +00:00
Pavel Punegov 1703d3a47e [K/N][test] Skip test worker10 with Aggressive GC
Merge-request: KT-MR-9729
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-04-21 17:02:32 +00:00
Kirill Rakhman 0a2477585a [FIR] Implement DEFINITELY_NON_NULLABLE_AS_REIFIED diagnostic
#KT-55646 Fixed
2023-04-21 16:23:16 +00:00
Svyatoslav Scherbina 509a97a7b5 Native: add coroutines into buildSrc classpath of performance builds
^KT-58160
2023-04-21 16:19:55 +00:00
Svyatoslav Kuzmich 933f47aaf9 [Wasm] Rename JsHandle to JsReference
Decision to do this was made at Kotlin/Wasm interop design meeting
2023-04-21 15:03:20 +00:00
Svyatoslav Kuzmich 7ba8f7cce2 Revert "[Wasm] Deprecate @JsFun with warning"
Reason: Design of js(code) replacement is still in flux.
        It would be better to delay deprecation until we converge
        to proper solution.

This reverts commit 3566d918d2.
2023-04-21 15:03:20 +00:00
Svyatoslav Kuzmich 7c2fa3290e [Wasm] Revert removal of some Dynamic functions
Deprecate them with ERROR instead to improve compiler messages
2023-04-21 15:03:19 +00:00
Yahor Berdnikau eb4e96a113 Add kotlin-build-tools-enum-compat workaround
It acts as a workaround for the case when build tools or dependencies
are compiled with latest 'kotlin-stdlib' version, but at a runtime older
 'kotlin-stdlib' is provided, which does not know about new
 `EnumEntries`.

 ^KT-57317 Fixed
2023-04-21 14:57:17 +00:00
Pavel Mikhailovskii 1f649b698c [CLI] Get rid of unnecessary type parameters in arguments.kt 2023-04-21 13:21:28 +00:00
Nikolay Krasko 13ce25a85c [213] Update verification for "maven-resolver-impl" and "httpclient"
KTI-1114
2023-04-21 13:19:05 +00:00
Nikolay Krasko 9e00bb8a21 [213] More dependencies aalto + stax2
KTI-1114
2023-04-21 13:19:05 +00:00
Nikolay Krasko a3293452ca [213] Update verification-metadata.xml
KTI-1114
2023-04-21 13:19:05 +00:00
Nikolay Krasko bedea65f00 [213] Unmute tests fixed in 212 platform
KTI-1114
2023-04-21 13:19:05 +00:00
Nikolay Krasko 760a690c01 [213] Remove some old setting in tests with org.jdom.Element
KTI-1114
2023-04-21 13:19:05 +00:00
Nikolay Krasko f9169e8c7c [213] Dummy code style facade for ClsElementImpl.appendMirrorText()
The only test that fails without is FirOldFrontendLightClassesTestGenerated.
While there's no proof that code fails in production, the footprint from
services shouldn't be big, and it's better to have them instead of
failing in runtime.

KTI-1114
2023-04-21 13:19:05 +00:00
Roman Golyshev 31482fbb8b [213] Try removing jna from kotlin-compiler-embeddable
KTI-1114
2023-04-21 13:19:04 +00:00
Roman Golyshev 83f9e0f87e [213] Add more missing runtime dependencies
KTI-1114
2023-04-21 13:19:04 +00:00
Roman Golyshev b62b21dd67 [213] Adapt to DebugUtil.psiToString semantics change
See 83990991cd17c661bf6ea85b54125c09741d90ec commit in intellij

KTI-1114
2023-04-21 13:19:04 +00:00
Roman Golyshev ac388010b1 [213] Add missing test runtime dependencies
KTI-1114
2023-04-21 13:19:04 +00:00
Roman Golyshev e388b1df36 [213] Ignore proguard warning about com.intellij.util.io.WalRecord$Companion
KTI-1114
2023-04-21 13:19:04 +00:00
Roman Golyshev fb9de6ba45 [213] Avoid using ConcurrentCollectionFactory.createConcurrentIdentityMap
The `ConcurrentCollectionFactory` class was moved to the module
which is no longer available in the 213 platform distribution

`MapMaker().weakKeys().makeMap()` is used as drop-in replacement of
concurrent hash map with identity-based equals strategy

The new implementation stores keys on weak references, which should not
change the behavior of the `ModuleFileCacheImpl`.

1. If someone still has a strong reference to the `ktFile`, then the
cache will also keep it.

2. If there are no more strong references to the `ktFile`, then the
cache will not hold it from being garbage-collected. However, since
nobody  has a strong reference to the `ktFile` anymore, nobody can call
 `fileCached` or `getCachedFirFile` with it, and it will never be
 requested from the cache.

KTI-1114
2023-04-21 13:19:04 +00:00
Roman Golyshev d4cffb8a5a [213] Switch to 213 platform
KTI-1114
2023-04-21 13:19:04 +00:00
Dmitriy Novozhilov 7f07b2a82c Revert "Advance bootstrap to 1.9.0-dev-6379"
This reverts commit fe44727f97.

Revert is needed because of KT-58160
2023-04-21 13:15:45 +00:00
Yan Zhulanow c9c6508b03 [LL API] Fix declaration mapping for library dependencies
As there is no accurate way to figure out exact dependencies for each
library JAR, all project libraries but the current one are added as
dependencies. However, for performance reasons, each library is not
treated as an individual 'LLFirLibrarySession', instead a scope-based
'JvmClassFileBasedSymbolProvider' is used.

Although code analysis is correct with this setup, navigation between
libraries was broken. The reason is that source declarations were only
queried inside the library itself.

After the fix, declarations are first queried in the library,
and if there are no good candidates, all other libraries are scanned.
The same way things work in the Java plugin.

^KTIJ-23073 Fixed
2023-04-21 12:49:43 +00:00