Commit Graph

100745 Commits

Author SHA1 Message Date
Bogdan Mukvich e7989eecf5 Add function to get toolchain JDK home location 2023-04-27 12:25:20 +00:00
Mikhail Glukhikh 08c22c388c K2: change logic of result type search in ILT case
Related to KT-57487, KT-57703
2023-04-27 12:19:38 +00:00
Mikhail Glukhikh 27c4a7b7ef FE: add new tests around unresolved integer literals
Related to KT-57487, KT-57703
2023-04-27 12:19:38 +00:00
Mikhail Glukhikh 70c5978add K2: Approximate ILT in vararg expressions properly #KT-57487 Fixed 2023-04-27 12:19:38 +00:00
Anna Kozlova dead2c8be8 [LL] stubBased provider: deserialize fir from stubs build from decompiled text
if the compiled code is opened in the editor,
1. it's decompiled
2. stub is build over decompiled text
3. this stub replaces the stub built from classes.

This process leads to missed information in resulted FIR, e.g. half correct classId.
On the other side, this FIR is used only for this opened editor.
2023-04-27 11:37:29 +00:00
Anna Kozlova 2a47e89706 [LL] use provided sources to skip search for declaration phase 2023-04-27 11:37:29 +00:00
Anna Kozlova a41f7dc25d [cls] save parameter name for functional types in stub
to make it available for deserialized Fir
2023-04-27 11:37:28 +00:00
Anna Kozlova d59d66e876 [AA, LL] use stubs to build deserialized Fir elements in IDE
^KTIJ-24638

Notice on `DebugSymbolRenderer`:
stub based deserializer sets source directly,
but it's available in IDE mode only.
Thus, standalone and IDE tests have different results.
In order to avoid this, sources for compiled code are explicitly ignored

Notice on distinct callables:
for a file which belong to multiple libraries, decompiled code would be build per library.
In order to avoid ambiguity errors for members in that file,
we need to distinct provided elements by origins
failed test from IJ repo:
 FirReferenceResolveWithCrossLibTestGenerated#testSetWithTypeParameters
2023-04-27 11:37:28 +00:00
Anna Kozlova 96c15f6c71 [cls] include generated equals/hashCode/toString method in stubs
to avoid heavy computation of super functions
2023-04-27 11:37:27 +00:00
Anna Kozlova e28e8ad7b8 [AA] recognize library module by roots
merging `LLFirSelectingCombinedSymbolProvider.selectFirstElementInClasspathOrder`
relies on the fact that a candidate belongs to exactly one module.
This can be not true for libraries, attached to multiple modules.
 In that case we need to accept "wrong module" to retrieve correct provider
2023-04-27 11:37:27 +00:00
Anna Kozlova d491fd2f70 [LL] don't include kotlin classes in combined java provider
do not resolve annotations when short name doesn't match
2023-04-27 11:37:27 +00:00
Anna Kozlova 6ba4e37696 [psi] don't load ast for compiled code
deserialized parameters do not contain real default values anyway
2023-04-27 11:37:26 +00:00
Anna Kozlova 1f4e4f94a7 [FIR] varargs: do not leak source of value parameter to the call site
when source for compiled fir elements is set, it leaks e.g. to diagnostics,
which is then filtered

see `TestsWithStdLib.Experimental.testImplicitUsages`
2023-04-27 11:37:26 +00:00
Anna Kozlova e94946d8df [FIR] extract data class copy function generation 2023-04-27 11:37:25 +00:00
Anna Kozlova 3f6432cdc9 [FIR] setup origin for generated enum functions 2023-04-27 11:37:25 +00:00
Alexander Udalov 68b94b07b8 Fir2Ir: more precise calculation of enum class modality
Use the same condition as in the already existing `createIrEnumEntry`
function (and as in psi2ir): enum class should be final unless there's
an enum entry with any declaration other than its constructor.

 #KT-57216
2023-04-27 11:02:22 +00:00
aleksandrina-streltsova 2cc3b542fd [Analysis API FIR] Initialize properties of KtCallableSignature lazily 2023-04-27 10:59:30 +00:00
aleksandrina-streltsova 2eab9fc00f [AA] Fix incorrect nullability for KtType created from stub type
^KTIJ-24992 Fixed
2023-04-27 10:59:30 +00:00
aleksandrina-streltsova 1d905aa20c [Analysis API] Render type aliases with fully expanded types
^KTIJ-24989
2023-04-27 10:59:30 +00:00
aleksandrina-streltsova 3c8531aad8 [Analysis API] Allow obtaining original for fake declaration/file
It is required to remove dependency on low-level API from completion
2023-04-27 10:59:29 +00:00
Kirill Rakhman 6d3b911dfc [K2/Native] Configure metadata compilation mode
This fixes access to internal declarations in common source sets from
intermediate source sets that are compiled to metadata.

#KT-58219 Fixed
2023-04-27 10:49:53 +00:00
Dmitrii Krasnov aea8670c12 migrated NativeLibraryDslIT and NativeLibraryDslWithCocoapodsIT to junit 5 and gradle TestKit
#KT-51553
2023-04-27 10:40:32 +00:00
Sebastian Sellmair 9f17f6621b [Gradle] Adjust Kotlin2JsCompileArgumentsTest and KotlinCompileArgumentsTest
... after ensuring DependencyClasspath is not resolved
by CompilerArgumentAware

^KTIJ-24724 Verification Pending
2023-04-27 09:17:05 +00:00
akerimsenol 502c3c29cc Omit dependency classpath from compiler args
This is in the context of the following issue:
https://youtrack.jetbrains.com/issue/KTIJ-24724
2023-04-27 09:17:05 +00:00
Mikhail Glukhikh abb58f1380 K2: unmute the test related to KT-48675 2023-04-27 09:16:44 +00:00
Ilya Chernikov a045a0a81c FIR: use default getter in serializer if fir contains none
since we generate the default getter in this case in
Fir2IrDeclarationStorage.createIrProperty, so the serialized metadata
should follow the same behavior.
#KT-57373 fixed
2023-04-27 09:14:20 +00:00
Dmitriy Novozhilov 913b55174d [FIR] Correctly determine primary constructor parameters scope for class initialization section
^KT-58135 Fixed
2023-04-27 09:11:31 +00:00
Anna Kozlova 7ee648a4f5 [cls] include annotation arguments in cls stubs
^ KTIJ-24666
this would allow to build fir based on stubs,
do not keep ProtoBuf in memory and
search in decompiled code by stubs
2023-04-26 21:43:15 +02:00
Anna Kozlova f0af7c4228 [cls] include property constant initializer in stubs
^KTIJ-24667
this would allow building FirElements from stubs
2023-04-26 21:43:15 +02:00
Anna Kozlova 70ef87354f [psi] KtValueArgumentName: use stub when possible 2023-04-26 21:43:15 +02:00
Anna Kozlova 171e9db1f8 [psi] don't search for property initializer in decompiled code
it's not included in decompiled text, so can't be found anyway
2023-04-26 21:43:14 +02:00
Anna Kozlova b558d5fc9c [cls] include default parameter value in stubs
this stub would allow building FirElement from stubs,
as well as search signatures in compiled code without loading decompiled text
2023-04-26 21:43:14 +02:00
Anna Kozlova 7021c079c6 [cls] include property accessors in cls stubs 2023-04-26 21:43:14 +02:00
Igor Yakovlev 0629f6758f [Wasm] Fix kotlin test throw methods 2023-04-26 16:55:11 +00:00
Ilya Gorbunov f470406150 Update EXPECTED_REACHABLE_NODES in JS testdata 2023-04-26 15:50:58 +00:00
Dmitriy Novozhilov fe45e26d83 Advance bootstrap to 1.9.0-dev-6976 2023-04-26 17:48:14 +03:00
Pavel Punegov a8bf83a97e [K/N][test] Wild-card the debugger tests to for with caches
Don't match all non-matching parts instead of excluding
2023-04-26 13:20:21 +00:00
Pavel Punegov 487a441efc [K/N][test] Fix annotation model generator for use with arrays
Generator should write arrays as java array with values, not its class
2023-04-26 13:20:21 +00:00
Pavel Punegov 1a9e553013 [K/N][test] Set acceptable values for test class level properties
Adds @AcceptablePropertyValues annotation that accepts comma-separated
property values that could be used. If the value set from the command
line or as an enforced one is not in the list the default value will be
used instead.
2023-04-26 13:20:21 +00:00
Pavel Punegov 3ae9d2e4e8 [K/N][test] Make debugger tests work with caches
With caches (everywhere) Konan_start gets different location
`entryPointOwner:1:1`
2023-04-26 13:20:20 +00:00
Filipp Zhinkin cadf4f63b0 KT-54739 Return single empty inst from collection builders(all src-sets)
Fixed remaining builders, added additional checks to a test.

^KT-54739 fixed
2023-04-26 12:05:15 +00:00
Ivan Kochurkin 0c1d957711 KT-54739 Return single empty instance from collection builders on JVM
- return single instance of emptySet for build method from SetBuilder
- return single instance of emptyMap for build method from MapBuilder
- return single instance of emptyList for build method from ListBuilder

^KT-54739 fixed
2023-04-26 12:05:15 +00:00
Margarita Bobova faad7306fb Update verification-metadata.xml for 1.9.20 and temporary allow 1.9.0 version 2023-04-26 11:55:44 +00:00
Dmitrii Gridin 2778b3bdd6 [LL FIR] add missing isJumping phase and update contract violation check for such phases
^KT-56550
2023-04-26 11:47:41 +00:00
Mikhail Glukhikh 41e551e321 K1: add deprecation warning for property/field pair with different types
#KT-57905 Fixed
2023-04-26 11:47:16 +00:00
Ilya Gorbunov 2100f08655 Make subarrayContentToString internal 2023-04-26 10:44:52 +00:00
Ilya Gorbunov 937a14146a Hide experimental Duration functions that are not intended to be stabilized 2023-04-26 10:44:52 +00:00
Ilya Gorbunov f260b55810 Raise deprecation of js synchronized {} to error 2023-04-26 10:44:52 +00:00
Abduqodiri Qurbonzoda 2248f4ea33 Remove supportsNamedCapturingGroup flag in tests
Now it is true on all platforms
2023-04-26 10:44:21 +00:00
Abduqodiri Qurbonzoda 175566fe56 KT-51908 Common MatchGroupCollection.get(name) extension function 2023-04-26 10:44:21 +00:00