Commit Graph

40453 Commits

Author SHA1 Message Date
Alexander Korepanov 0982872959 [JS IR] Fix clash between generic extension overloads
Type parameter constraints are used for calculating JS signature hash.

^KT-51151 Fixed
2022-07-22 16:14:51 +00:00
Mikhail Glukhikh 0bd06b4095 K1: unify code around resolveCallWithGivenDescriptors 2022-07-22 16:03:54 +00:00
Mikhail Glukhikh ec055eb418 K1: cleanup new inference constructor resolve in CallResolverUtil 2022-07-22 16:03:54 +00:00
Mikhail Glukhikh e20efc1398 K1: don't report UNRESOLVED_WITH_TARGET on hidden setters 2022-07-22 16:03:53 +00:00
Victor Petukhov 00d1e46c5a [FE 1.0] Don't throw exception during substitution of accessors, just return original 2022-07-22 16:03:53 +00:00
Victor Petukhov db54d18c72 [FE 1.0] Add fallback for extracting when call 2022-07-22 16:03:52 +00:00
Victor Petukhov 42e71f8c53 Remove explicit enabling the new type inference from test data 2022-07-22 16:03:52 +00:00
Victor Petukhov 224beb24eb Remove explicit disabling the new type inference from test data 2022-07-22 16:03:51 +00:00
Victor Petukhov c0ae68fe93 [FE 1.0] Remove type predicate calculation from CFG tests
That logic is hard to support because it used deprecated `OldResolutionCandidate` and `ResolvedCallImpl`. Moreover FIR has own CFG utils.
2022-07-22 16:03:51 +00:00
Victor Petukhov 5f5c3aa534 [FE 1.0] Clean-up pseudocodeUtils.kt: remove unused methods, move test specific methods into test-common module 2022-07-22 16:03:50 +00:00
Victor Petukhov 6e191147b9 [FE 1.0] Resolve setters through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:50 +00:00
Victor Petukhov a74c221729 [FE 1.0] Resolve equal calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov a542de715a [FE 1.0] Resolve collection literals through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov 0070c234ce [FE 1.0] Resolve constructor calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:49 +00:00
Victor Petukhov e66cc9a639 [FE 1.0] Resolve special construct calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:48 +00:00
Victor Petukhov bab8047bb3 [FE 1.0] Resolve this and super calls through the new type inference infra
^KT-48961 In progress
2022-07-22 16:03:48 +00:00
Sergey Bogolepov cd54afea8f [K/N] Add option to omit generation of binary when producing framework
`-Xomit-framework-binary` is useful when the user does not care about
generated machine code, but only about its public interface.
Current use-case is for development purposes only: to iterate faster
on ObjCExport. But potentially it can be turned into user-facing feature
2022-07-22 11:57:15 +00:00
Mikhail Glukhikh 78da5907c8 K2 checkers: separate report committer from other diagnostic components 2022-07-22 11:35:28 +00:00
Mikhail Glukhikh eba0e94429 K2: get rid of manual diagnostic suppression in checkers 2022-07-22 11:35:28 +00:00
Mikhail Glukhikh 07f16ef378 K2 LL API: implement automatic diagnostic suppression 2022-07-22 11:35:27 +00:00
Mikhail Glukhikh 9add6f3d55 K2: add more accurate & more automatic control of diagnostic suppression
#KT-51363 Fixed
2022-07-22 11:35:26 +00:00
Mikhail Glukhikh 179b267d9f K2: add test with some samples of diagnostic suppression 2022-07-22 11:35:25 +00:00
Ilya Kirillov a0f0fa5a47 [Analysis API FIR] fix candidate collection for delegatedConstructor call
^KTIJ-20446
2022-07-22 00:58:59 +02:00
Ilya Kirillov e8bf8cb182 [Analysis API FIR] fix type rendering for type with "Cannot infer type for parameter" error 2022-07-22 00:58:58 +02:00
Sergej Jaskiewicz 9bc057afb2 [JS IR] Generate the correct relative paths in source maps 2022-07-21 12:18:45 +00:00
Sergej Jaskiewicz 62f957a482 [JS IR] Respect the kotlinOptions.sourceMap = false setting
^KT-52830 Fixed
2022-07-21 12:18:45 +00:00
Dmitriy Novozhilov af8caae387 [KAPT] Fix formatting 2022-07-20 10:12:25 +00:00
Dmitriy Novozhilov 9c41e75802 [KAPT] Migrate kapt tests to new test infrastructure 2022-07-20 10:12:24 +00:00
Dmitriy Novozhilov b7cc781e97 [Test] Create KtFiles with proper virtual files
This is needed to properly report diagnostics in KAPT3 tests, which
  uses psiElement.containingFile as origin
2022-07-20 10:12:23 +00:00
Dmitriy Novozhilov 7aaecf272b [Test] Move configuration of JS specific flags into JsEnvironmentConfigurator 2022-07-20 10:12:23 +00:00
Dmitriy Novozhilov b2e558a174 [CLI] Make -Xcompiler-plugin experimental and K2 only 2022-07-20 09:07:27 +00:00
Dmitriy Novozhilov 928416c9c5 [CLI] Introduce new compiler arguments for registering compiler plugins
With new syntax each plugin should be registered in separate argument with syntax
`-Xcompiler-plugin=classpath1,classpath2[=argument1=value1,argument2=value2]`
2022-07-20 09:07:26 +00:00
Dmitriy Novozhilov 8919703448 [Test] Extract CLI tests for plugins into separate directory 2022-07-20 09:07:26 +00:00
Dmitriy Novozhilov 0d1e802db1 [CLI] Remove deprecated properties from AbstractCliOption and CliOption 2022-07-20 09:07:25 +00:00
Dmitriy Novozhilov 5c05cf6fe1 [CLI] Cleanup and reformat CliOptions.kt 2022-07-20 09:07:25 +00:00
Svyatoslav Kuzmich 11c8c01a50 [Wasm] Update v8 shell to v10.5.207 2022-07-19 18:46:52 +02:00
Sergej Jaskiewicz 1241565cce [JS IR] Adapt stepping tests for Kotlin/JS 2022-07-19 16:06:24 +00:00
Sergej Jaskiewicz ea556ce428 [JS IR] Implement stepping tests for Kotlin/JS
We already have stepping tests for Kotlin/JVM.
They are helpful for testing the correctness of the generated
debugging information.

They are better than line number tests in that they allow to test the
_behavior_, not the generated data. The structure of the data may change
even if the behavior stays the same. For that reason, stepping tests
are more stable.
2022-07-19 16:06:23 +00:00
Sergej Jaskiewicz 003f846723 Make expectations in stepping tests more flexible
We can now write expectations in the following form:
// EXPECTATIONS [backends...] [frontends...]

Backends are specified as in the TargetBackend enum.
Frontends are specified as in the FrontendKinds object.

This will make it more suitable for supporting Kotlin/JS in stepping
tests.

For example, for expectations that match only JVM backends with the
classic frontend, we use:
// EXPECTATIONS JVM JVM_IR ClassicFrontend
2022-07-19 16:06:22 +00:00
Dmitry Gridin 651d4d8be0 [light classes] move getParentForLocalDeclaration to light-classes-base
^KT-53097
2022-07-19 15:42:08 +00:00
Dmitry Gridin 0e17d9b452 [light classes] extract KotlinLightClassFactory to service
^KT-53097
2022-07-19 15:42:07 +00:00
Dmitry Gridin 81a5b4070d [light classes] move KtLightMethodImpl to light-classes-base module
^KT-53097
2022-07-19 15:42:06 +00:00
Dmitry Gridin 024c40a3fa [light classes] move checkIsMangled to light-classes-base module
^KT-53097
2022-07-19 15:42:05 +00:00
Dmitry Gridin 71018d8a6d [light classes] replace light class dependency from analysis.symbol-light-classes to light-classes-base
^KT-53097
2022-07-19 15:42:04 +00:00
Dmitry Gridin a0c55a9ab8 [light classes] move method indices to light-classes-base module
^KT-53097
2022-07-19 15:42:03 +00:00
Dmitry Gridin 364cc8a65e [light classes] add mangleInternalName to light-classes-base module
^KT-53097
2022-07-19 15:42:03 +00:00
Dmitry Gridin 34921e451d [light classes] move KotlinSuperTypeListBuilder to light-classes-base module
^KT-53097
2022-07-19 15:42:02 +00:00
Dmitry Gridin 05528a051b [light classes] rewrite findEntry to avoid resolve and move to light-classes-base module
^KT-53097
2022-07-19 15:42:01 +00:00
Dmitry Gridin 2ff1c21c8c [light classes] replace light class dependency from analysis.decompiled.light-classes-for-decompiled to light-classes-base
^KT-53097
2022-07-19 15:42:00 +00:00
Dmitry Gridin 35258da509 [light classes] replace light class dependency from compiler.tests-common to light-classes-base
^KT-53097
2022-07-19 15:42:00 +00:00