Commit Graph

2943 Commits

Author SHA1 Message Date
Aleksei.Cherepanov df017ea187 Clean JavaClassesTracker and LookupTracker on call RetryWithAdditionalRoots
#KT-38576 Fixed
2022-08-16 14:38:01 +00:00
Abduqodiri Qurbonzoda 983c7adb1e Remove :libraries:tools:stdlib-compiler-classpath project
It was used as a workaround to allow jvmTarget=1.6 in stdlib.
2022-08-13 01:42:43 +03:00
Jiaxiang Chen 94abeb64c5 use top level classId for looking up java classes in KotlinCliJavaFileManagerImpl 2022-08-12 14:24:13 +02:00
Artem Kobzar 87038e7d8a [K/JS] feat: add logic under the flag for strict implicit export generating inside d.ts files. 2022-08-09 16:48:59 +00:00
Igor Chevdar 030e3b306f [K/N][build] Added -Xmake-per-file-cache compiler option 2022-08-06 17:40:24 +00:00
Igor Chevdar 7e79b2b500 [K/N][IR][codegen] Preliminary support of per-file caches 2022-08-06 17:40:23 +00:00
Aleksei.Cherepanov 92551b7685 Prevent overwriting output dir to empty string
#KTIJ-921 Fixed

Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com>

Merge-request: KT-MR-6183
Merged-by: Aleksei Cherepanov <aleksei.cherepanov@jetbrains.com>
2022-08-03 14:46:32 +00:00
Victor Petukhov 9beb279964 [FE CLI] Remove -Xnew-inference in the compiler cli module settings 2022-08-02 10:29:40 +00:00
Mikhael Bogdanov 90f8f8e14e Support inner classes in -Xjdk-release
#KT-52823 Fixed
2022-08-02 04:56:20 +00:00
Ivan Kochurkin 2f56b29b3f [FIR] Extract FirSessionConfigurator and IncrementalCompilationContext to separated classes
With FirSessionFactory and FirJsSessionFactory
2022-07-25 23:30:09 +02: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 9add6f3d55 K2: add more accurate & more automatic control of diagnostic suppression
#KT-51363 Fixed
2022-07-22 11:35:26 +00:00
Sergej Jaskiewicz 9bc057afb2 [JS IR] Generate the correct relative paths in source maps 2022-07-21 12:18:45 +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
Dmitry Gridin 0e17d9b452 [light classes] extract KotlinLightClassFactory to service
^KT-53097
2022-07-19 15:42:07 +00:00
Dmitry Gridin e5519064f4 [light classes] move script creation logic to KotlinLightClassFactory
^KT-53097
2022-07-19 15:41:45 +00:00
Dmitry Gridin dc552c9fe3 [light classes] move facade creation logic to KotlinLightClassFactory
^KT-53097
2022-07-19 15:41:44 +00:00
Dmitry Gridin 9510c4876c [light classes] introduce KotlinLightClassFactory
^KT-53097
2022-07-19 15:41:43 +00:00
Dmitry Gridin 47fa444792 [light classes] move descriptors from KtLightClassForSourceDeclaration to KtLightClassImpl
^KT-53097
2022-07-19 15:41:36 +00:00
Yahor Berdnikau 93a0cdbf97 Improve warnings and errors emitted by compiler in Gradle build
Make warnings and errors location clickable by using file URI scheme.
In most terminals and code editors (including IDEA) clicking on such uri
will open file at given line and offset.

^KT-51923 Fixed
2022-07-19 09:30:36 +00:00
Yahor Berdnikau 603d043abc Move Kotlin/Native compiler arguments into :compiler:cli:cli-common
This allows to reference them in the Gradle plugins without enabling
kotlin-native part of the repository

^KT-53108 In Progress
2022-07-14 10:57:28 +00:00
Denis.Zharkov f7a2889a40 FastJarHandler: Add information for exceptions thrown during CD parsing
^KT-52786 Related
2022-07-12 14:45:37 +00:00
Nikita Nazarov 2ab92bcb7e Add a key to enable spilling of all variables in a suspending context
This commit adds a new key that will allow users to enhance their
debugging experience in suspending contexts when using the IR backend.
After the key is enabled, the following things are changed:
1. All variables in a suspending context are spilled regardless their
liveness.
2. Their LVT records are not shrunk.
3. ACONST_NULL is not spilled to dead variables.

#KT-48678 In progress

(cherry picked from commit 38d97d0621)
2022-07-07 14:51:24 +03:00
Nikolay Krasko c6299ee277 Revert "Add a key to enable spilling of all variables in a suspending context"
This reverts commit 38d97d0621.
2022-07-05 11:04:50 +00:00
Nikita Nazarov 38d97d0621 Add a key to enable spilling of all variables in a suspending context
This commit adds a new key that will allow users to enhance their
debugging experience in suspending contexts when using the IR backend.
After the key is enabled, the following things are changed:
1. All variables in a suspending context are spilled regardless their
liveness.
2. Their LVT records are not shrunk.
3. ACONST_NULL is not spilled to dead variables.

#KT-48678 In progress
2022-07-02 18:29:18 +03:00
Dmitriy Novozhilov 1a8496757e [Compiler] Mark all entrypoints to compiler API as experimental 2022-06-29 12:00:01 +00:00
Dmitriy Novozhilov 65e240679e [FE] Move utility of parsing plugin options to :compiler:frontend.common
This is needed to be able to use this utility inside FIR part of IDE plugin
2022-06-29 12:00:00 +00:00
Dmitriy Novozhilov f587c02d38 [FE] Move ServiceLoaderLite to :compiler:frontend.common
This is needed to be able to use this class inside FIR part of IDE plugin
2022-06-29 12:00:00 +00:00
Dmitriy Novozhilov c979e1edcf [Plugins] Deprecate ComponentRegistrar
^KT-52665 In Progress
2022-06-29 11:59:58 +00:00
Dmitriy Novozhilov 8b42638afa [Plugins] Introduce new API for registering compiler plugins
Original `ComponentRegistrar` exposes Project to its registration method,
  so plugins should manually register extensions to it. To prepare for
  possible unbound compiler from Project API in future new  `K2ComponentRegistrar`
  introduced which provides registration method without Project at all
2022-06-29 11:59:58 +00:00
Dmitriy Novozhilov 7fa459044f [Test] Fix extracting path to standard libraries from incorrect places for external users 2022-06-29 06:41:07 +00:00
Dmitry Gridin 6e75e4a56e Revert "Revert "[light classes] drop old light classes and backend: iteration #12""
This reverts commit 732a08f0df.
2022-06-28 17:57:35 +02:00
Dmitry Gridin d14a71acfc Revert "Revert "[light classes] drop old light classes and backend: iteration #11""
This reverts commit 357e15085e.
2022-06-28 17:57:34 +02:00
Dmitry Gridin 28aa47af8a Revert "Revert "[light classes] drop old light classes and backend: iteration #10""
This reverts commit 4b3e48dc47.
2022-06-28 17:57:34 +02:00
Dmitry Gridin cbf9b13ef8 Revert "Revert "[light classes] drop old light classes and backend: iteration #9""
This reverts commit 38c623bc3a.
2022-06-28 17:57:33 +02:00
Dmitry Gridin 9f3a269d62 Revert "Revert "[light classes] drop old light classes and backend: iteration #8""
This reverts commit 91fa6af556.
2022-06-28 17:57:33 +02:00
Dmitry Gridin ac83d5fcbc Revert "Revert "[light classes] drop old light classes and backend: iteration #7""
This reverts commit d1cde22254.
2022-06-28 17:57:33 +02:00
Dmitry Gridin 9dcc92e394 Revert "Revert "[light classes] drop old light classes and backend: iteration #6""
This reverts commit 8db53c0ca7.
2022-06-28 17:57:32 +02:00
Dmitry Gridin 4d43312cfe Revert "Revert "[light classes] drop old light classes and backend: iteration #5""
This reverts commit 8f7969549b.
2022-06-28 17:57:31 +02:00
Dmitry Gridin 2eaea66a0c Revert "Revert "[light classes] drop old light classes and backend: iteration #4""
This reverts commit 3d9a58627f.
2022-06-28 17:57:31 +02:00
Dmitry Gridin ce183a8eeb Revert "Revert "[light classes] drop old light classes and backend: iteration #3""
This reverts commit 074dd1c19d.
2022-06-28 17:57:30 +02:00
Dmitry Gridin dd824aacb6 Revert "Revert "[light classes] drop old light classes and backend: iteration #2""
This reverts commit 43b4df74bc.
2022-06-28 17:57:30 +02:00
Dmitry Gridin f10c5c28a5 Revert "Revert "[light classes] drop old light classes and backend: iteration #1""
This reverts commit 57de064251.
2022-06-28 17:57:29 +02:00
Mikhael Bogdanov 8f60f73207 JvmDefault. Add deprecation warning for '-Xjvm-default=enable|compatibility' options
#KT-46329
2022-06-28 14:11:49 +02:00
Dmitry Gridin 57de064251 Revert "[light classes] drop old light classes and backend: iteration #1"
This reverts commit 3cb2df9360.
2022-06-28 13:52:11 +02:00
Dmitry Gridin 43b4df74bc Revert "[light classes] drop old light classes and backend: iteration #2"
This reverts commit 97ce502cbe.
2022-06-28 13:52:10 +02:00
Dmitry Gridin 074dd1c19d Revert "[light classes] drop old light classes and backend: iteration #3"
This reverts commit 3c711d42b3.
2022-06-28 13:52:10 +02:00
Dmitry Gridin 3d9a58627f Revert "[light classes] drop old light classes and backend: iteration #4"
This reverts commit 9d1fe58f9d.
2022-06-28 13:52:09 +02:00
Dmitry Gridin 8f7969549b Revert "[light classes] drop old light classes and backend: iteration #5"
This reverts commit fa77c618bd.
2022-06-28 13:52:09 +02:00