Dmitriy Novozhilov
79e4df72bf
[CLI] Introduce utilities for creating FirSession hierarchy in CLI for all platforms
...
Also support session creation and compilation for HMPP projects
^KT-56209 Fixed
2023-02-17 11:08:51 +00:00
Dmitriy Novozhilov
77caa31640
[CLI] Add CLI arguments to pass HMPP module structure to the compiler
...
^KT-56209
2023-02-17 11:08:50 +00:00
Ilya Chernikov
e39eb62e6e
FIR LT: Fix diagnostic location calculation on the last line
...
it was calculated incorrectly on the last line that do not end
with EOL.
#KT-56649 fixed
2023-02-16 10:21:03 +00:00
Kirill Rakhman
22fd7921fe
[FIR] Introduce MetadataBasedAnnotationDeserializer for compiling common
...
^KT-56361 Fixed
2023-02-08 13:32:33 +00:00
Ivan Kochurkin
f3e3cc0037
[FIR] Implement support of MPP in JS CLI
2023-02-07 14:16:29 +00:00
Ivan Kochurkin
44b7859356
[FIR] Implement FIR metadata serialization
...
Add FirMetadataSerializer
Add CLI metadata tests on FIR
2023-01-24 15:27:14 +00:00
Ilya Chernikov
7ec72b568d
Fix assertion in light tree diagnostic reporter
...
happened then two diagnostics are reported on the same element.
#KT-55924 fixed
2023-01-20 17:57:15 +00:00
Mikhail Glukhikh
c8db20bd0b
Compiler: restore an opportunity to switch light tree mode OFF
...
#KT-55996 Fixed
2023-01-18 14:01:22 +00:00
Mikhail Glukhikh
3dc05f4ec5
Introduce language version 2.0 and associate K2 compiler with it
2023-01-16 18:12:55 +01:00
Ivan Kochurkin
8936220876
[IR] Implement IR actualizer and use it for K2 test and CLI scenario
...
Implement calculateExpectActualMap for Fir2IrComponents
^KT-51753 Fixed
2023-01-13 12:55:58 +00:00
Alexander Udalov
3c4b5529af
Update year to 2023 in COPYRIGHT_HEADER.txt
...
This commit is the result of changing the year to 2023 in
COPYRIGHT_HEADER.txt and running all `generate*` tasks in
`generators/build.gradle.kts`.
2023-01-02 22:52:15 +01:00
Artem Kobzar
fbf06b5495
[K/JS] Add a secret system property to enable the old Kotlin/JS compiler only for tests until it will be removed from the sources
2022-12-29 13:32:01 +00:00
Artem Kobzar
c1c5933c72
[K/JS] Deprecate old JS-compiler
2022-11-23 11:22:29 +00:00
Xin Wang
7b3ce35613
JVM_IR: Prevent writing output after an error is reported
...
#KT-53825 Fixed
2022-11-09 23:14:11 +01:00
Xin Wang
69a4de0461
K2 JVM: Take JVM declarations conflicting error back
...
Since SimpleDiagnosticsCollectorWithSuppress have been replaced by
PendingDiagnosticsCollectorWithSuppress after commit 9add6f3d55 ,
diagnostics need to be committed now.
#KT-54366 Fixed
2022-10-17 12:46:23 +00:00
Mads Ager
b2dc2ed0be
Update android projects used in AGP integration tests.
2022-09-16 15:03:01 +02:00
Alexander Udalov
0569f429dd
Report error on -Xuse-old-backend, remove Gradle option useOldBackend
...
Allow using old JVM backend only to compile kts.
#KT-48532 Fixed
2022-09-16 00:16:31 +02:00
Vladimir Sukharev
c8864369fd
Use main class as test generator name
...
Merge-request: KT-MR-7031
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-09-09 12:51:18 +00:00
Alexander Udalov
13ca189825
Support -Xjdk-release=8 as alias for -Xjdk-release=1.8
...
#KT-53278 Fixed
2022-09-01 12:15:47 +02:00
Vsevolod Tolstopyatov
e3bff290bd
[JVM] Lower .entries calls on Kotlin enums
...
Leveraging the same mechanism with $EntriesMapping as Java enums.
Old (compiled with LV/AV < 1.8) enums are detected by looking for
static special <get-entries> method that cannot be introduced on
Kotlin enums otherwise
#KT-53236
2022-08-12 09:35:22 +00:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02: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
Mikhail Glukhikh
9a8fa300d7
Add test for KT-52020
2022-06-29 16:50:03 +00:00
Mikhael Bogdanov
8f60f73207
JvmDefault. Add deprecation warning for '-Xjvm-default=enable|compatibility' options
...
#KT-46329
2022-06-28 14:11:49 +02:00
Dmitriy Novozhilov
22ebea8174
[FIR] Support FIR version of all-open plugin
2022-06-07 14:12:14 +00:00
Alexander Udalov
a7f4981fe5
Normalize virtual file paths to prevent duplicate sources
...
#KT-52465 Fixed
2022-05-27 23:40:57 +02:00
Alexander Udalov
70121f0c78
Report error on non-existent classpath in -Xplugin
...
#KT-52380 Fixed
2022-05-27 13:13:33 +02:00
Mikhail Glukhikh
15d58aff92
K2: drop C/DFA warning which fixes can break compilation in K1 till 1.8
...
#KT-50965 Fixed
2022-05-01 16:40:04 +00:00
Mikhail Glukhikh
08ba89b4ec
CLI K2: report an error for JS/Native/Metadata #KT-52035 Fixed
2022-04-28 13:25:48 +00:00
Dmitriy Novozhilov
19f4c3edda
[CLI] Report compilation error if compiler plugins are enabled alongside with K2 compiler
...
^KT-52037 Fixed
2022-04-26 21:03:04 +04:00
Alexander Udalov
6402c3908c
Validate -Xbackend-threads CLI argument value
...
#KT-51846 Fixed
2022-04-08 14:01:21 +02:00
Alexander Udalov
07ebf4ed29
Do not suppress errors with -Xsuppress-version-warnings
...
#KT-48833 Fixed
2022-03-18 12:28:28 +01:00
Mikhail Glukhikh
779aa75855
Make FE1.0/FIR OptIn override message more clear
2022-03-10 09:09:51 +00:00
Mikhail Glukhikh
b42c236fb3
Replace blank messages in OptIn diagnostics #KT-51358 Fixed
2022-03-10 09:09:50 +00:00
Victor Petukhov
683a3e74a0
[Compiler CLI] Implement reading language version settings from environment variable
...
^KT-51306 Fixed
2022-02-16 18:41:50 +03:00
Victor Petukhov
78f4b9f1cd
[FE 1.0] Fix mistakes in error messages for resolution ambiguity with stub types
...
^KT-51022 Fixed
2022-02-14 15:43:47 +03:00
Dmitriy Novozhilov
dd953908df
[FE 1.0] Add compiler flag for rendering internal diagnostic names in error messages
2022-01-23 11:14:56 +03:00
Mikhael Bogdanov
860d0a4296
Add cli test with default JDK8 and -Xjdk-release=1.8
2021-12-23 07:26:01 +00:00
Mikhail Glukhikh
cebe25ff39
FE: don't create KtFile stubs on virtual files without ids
...
This commit is kinda revert of the change in platform 203:
https://github.com/JetBrains/intellij-community/commit/5d91f7bf2e5718d715c0d90ed1a212ea845fb2a3
#KT-49833 Fixed
2021-11-29 18:42:23 +03:00
Mikhail Glukhikh
4550999288
FE: use proper version in version requirement error message
...
#KT-48690 Fixed
2021-11-28 11:31:51 +03:00
Victor Petukhov
012f1f6013
Introduce a compiler X flag to enable enhancing not null annotated type parameter's types to definitely not null types
2021-10-26 19:37:59 +03:00
Alexander Udalov
aa247726b6
Prohibit using old JVM backend with LV >= 1.6
...
#KT-48928 Fixed
2021-09-30 13:56:34 +02:00
Alexander Udalov
987a346015
JVM IR: support cyclic module dependencies
...
The only way to make the compiler compile several modules with a
dependency loop is via the "build file", given by -Xbuild-file and used
in the JPS (IntelliJ built-in build system) plugin.
For the old frontend/backend it works like this: we _analyze_ sources of
all modules once, as if it's one big module, and then for each module,
we _generate_ (invoke backend) only sources of that module. Backend
needs to be invoked separately per-module because every module has its
own destination directory specified in the build file.
For JVM IR, this separation into just two steps, analyze and generate,
was problematic because there's psi2ir, which works like frontend, in
that it needs the global analysis result to be able to create and link
IR correctly. So, in case of JVM IR, we need to run psi2ir on the whole
module after analysis and before generation.
In this change, psi2ir is run on the whole module via
`CodegenFactory.convertToIr` (which does nothing in the old backend),
and then parts of the resulting IR module are extracted according to the
original separation of the combined module into individual modules via
`getModuleChunkBackendInput` by matching IrFile against KtFile. And
then, backend is run for each such module.
#KT-45915 Fixed
#KT-48668 Fixed
2021-09-17 17:39:49 +02:00
Victor Petukhov
86d8468b8b
Introduce a compiler X-flag to use the builder inference by default for all calls
...
^KT-48622 Fixed
2021-09-08 13:09:19 +03:00
Alexander Udalov
fbfbb0c72c
CLI: support false and true values for boolean -X arguments
...
#KT-48417 Fixed
2021-08-30 19:45:03 +02:00
Mikhail Glukhikh
6660c9b26b
FIR: add test repeating a problem with annotation mapping (KT-48298)
2021-08-17 18:22:33 +03:00
Victor Petukhov
dc8dbad0bc
Add compiler X-flag to enable self upper bound type inference
...
^KT-48026 Fixed
2021-08-04 17:36:52 +03:00
Mikhael Bogdanov
7854e9c3d7
Update CLI tests
2021-07-29 19:45:54 +02:00