Ilmir Usmanov
2cd9016016
IC mangling: Replace compiler hack with configuration flag
2020-11-19 17:39:30 +01:00
Alexander Gorshenev
01ef41ab17
No need to explicitly deprecate -Xdisable-fake-override-validator
...
A warning is produced automagically
2020-11-18 12:46:40 +03:00
Alexander Gorshenev
f42b902bc8
Made -Xfake-override-validator off by default
...
Deprected -Xdisable-fake-override-validator
2020-11-18 12:46:40 +03:00
Martin Petrov
68fdeaf865
Produce deterministic jar files.
...
This resets all timestamps present in jars produced by kotlinc.
This is important for build systems like bazel that rely on
deterministic outputs.
Before:
```
$ kotlinc ~/test.kt -d /tmp/a.jar
$ kotlinc ~/test.kt -d /tmp/b.jar
9ab80cd40c9293a7a66adf1154d4e6e9aa92d5b0 /tmp/a.jar
1ba022697317f796bd123fb4dc95418a18bcb51a /tmp/a.jar
6d2a2683470c24928f3fbd6768a4c57f55b0d196 /tmp/b.jar
$ unzip -l /tmp/a.jar
Archive: /tmp/a.jar
Length Date Time Name
--------- ---------- ----- ----
75 09-25-2020 16:48 META-INF/MANIFEST.MF
683 09-25-2020 16:48 TestKt.class
28 09-25-2020 16:48 META-INF/main.kotlin_module
--------- -------
786 3 files
```
After:
```
$ kotlinc ~/test.kt -d /tmp/a.jar
$ kotlinc ~/test.kt -d /tmp/b.jar
$ shasum /tmp/a.jar /tmp/b.jar
9ab80cd40c9293a7a66adf1154d4e6e9aa92d5b0 /tmp/a.jar
9ab80cd40c9293a7a66adf1154d4e6e9aa92d5b0 /tmp/b.jar
$ unzip -l /tmp/a.jar
Archive: /tmp/a.jar
Length Date Time Name
--------- ---------- ----- ----
75 12-31-1969 19:00 META-INF/MANIFEST.MF
590 12-31-1969 19:00 TestKt.class
36 12-31-1969 19:00 META-INF/main.kotlin_module
--------- -------
701 3 files
```
See https://github.com/JetBrains/kotlin/pull/3226 for a similar change.
2020-11-16 19:25:20 +01:00
Vladimir Dolzhenko
b0f6b739d0
Declare missed org.jetbrains.kotlin.defaultErrorMessages EP
2020-11-11 10:29:16 +00:00
Svyatoslav Kuzmich
e51a76bc4e
[Wasm] Basic CLI
...
-Xwasm option that will produce wasm instead of JS when used with -Xir-produce-js
Does not affect klib production
2020-11-10 13:08:04 +03:00
Alexander Gorshenev
5de7a10df0
Eliminated -Xdeserialize-fake-overrides
2020-11-09 16:02:14 +03:00
Alexander Udalov
382a0bd298
JVM IR: clear BindingContext after psi2ir
...
This helps to reduce peak memory in lowerings/codegen by a lot.
A more robust approach would be to have a separate BindingContext for
each file, and clear each of them after running psi2ir on it. This would
also lower peak memory usage in psi2ir.
Provide a fallback workaround compiler argument
-Xir-do-not-clear-binding-context just in case BindingContext is in fact
used somewhere and it's not caught by tests.
2020-10-26 10:34:43 +01:00
Leonid Startsev
4ec90b18bc
Rework DescriptorSerializerPlugin to be a part of Project's extensions
...
instead of statically registering it.
Static registering can cause subtle errors when plugin implementation
(e.g. SerializationDescriptorPluginForKotlinxSerialization) is registered
from multiple classloaders: in multi-module with daemon compilation scenario
#KT-41857 Fixed
2020-10-22 17:04:35 +03:00
Alexander Udalov
48cd86b717
Add JVM target bytecode version 15
...
#KT-41916 Fixed
2020-10-19 14:47:21 +02:00
Vladimir Dolzhenko
7c2112d014
Prepare for KT dynamic plugin: make EP dynamic
...
Relates to ^KT-38518
2020-10-12 13:09:17 +00:00
Victor Petukhov
2685c7efce
Jspecify: Rename codeanalysis annotations to jspecify ones
2020-10-08 14:00:10 +03:00
Denis Zharkov
f3a490ee16
Support compiler flag -Xcodeanalysis-annotations
2020-10-08 14:00:09 +03:00
Denis Zharkov
90a9ca6cb3
Minor. Rename flag in JvmAnalysisFlags: jsr305 -> javaTypeEnhancementState
2020-10-08 14:00:08 +03:00
Denis Zharkov
93d9301847
Minor. Extract JavaTypeEnhancementStateParser::parseJsr305State
2020-10-08 14:00:08 +03:00
Denis Zharkov
e7208f0c05
Rename Jsr305Parser -> JavaTypeEnhancementStateParser
2020-10-08 14:00:08 +03:00
Denis Zharkov
6c37574fce
Rename Jsr305State -> JavaTypeEnhancementState
...
Also, rename some of the properties
It's needed to store status for codeanalysis annotation in that class
2020-10-08 14:00:08 +03:00
Alexander Udalov
68157f09fa
Minor, add temporary workaround for KT-42492
2020-10-07 19:33:40 +02:00
Mikhael Bogdanov
d2c4be18a0
Rename runtime-string-concat option into 'string-concat'
2020-10-06 07:14:39 +02:00
Mikhael Bogdanov
c329c22630
Add runtime string concat options. Some renaming
2020-10-02 11:47:27 +02:00
Konstantin Tskhovrebov
34b6003371
as42: remove unused bunch files
2020-09-29 15:32:35 +03:00
Nikolay Krasko
ecff2816ac
as42: Fix duplication registration for com.intellij.psi.classFileDecompiler in plugin
2020-09-29 15:32:33 +03:00
Nikolay Krasko
1b97511248
as42: Register classFileDecompiler through xml
...
It doesn't work otherwise. It's expected that extension point is registered
at the moment of ClassFileDecompilers instatiation or it fails.
2020-09-29 15:32:32 +03:00
Alexander Udalov
cb5c317f91
Gradle: support moduleName option in KotlinJvmOptions
...
#KT-42058 Fixed
2020-09-25 22:15:55 +02:00
Pavel Kirpichenkov
1465e10f12
Add language feature for inference compatibility mode
...
The feature is intended for updates in the inference algorithm
that change behaviour compared to the previous stable version.
2020-09-22 15:06:12 +03:00
Igor Yakovlev
c70383cc70
[ULC] Add compiler flag -Xdisable-ultra-light-classes to fallback to light implementation in CLI
2020-09-11 12:49:04 +03:00
Roman Artemev
a60782f3df
[JS IR] Add CLI argument to setup error tolerance policy
...
- Make sure dev mode is enabled if code with errors is allowed
2020-09-01 14:53:07 +03:00
Alexander Udalov
5e48be3d11
Add a fallback flag -Xno-unified-null-checks for KT-22275
...
#KT-41482 Fixed
2020-08-31 12:43:28 +02:00
Alexander Udalov
0ef4b22cf3
Remove deprecated usages of ContainerUtil
2020-08-20 20:30:34 +02:00
Ilya Chernikov
f713e8ad36
Set context classloader before REPL evaluation
...
#KT-35925 fixed
2020-08-19 15:17:06 +02:00
vldf
a26eeb6ee8
[FIR] Add CLI flag for running extended checkers
2020-08-18 21:53:07 +03:00
Alexander Udalov
a21f273570
Fix compiler warnings in compiler code
2020-08-17 21:18:20 +02:00
Mikhail Zarechenskiy
0c8b847ae6
Introduce compiler key to disable compatibility resolution mechanism
...
Enable it if one was using new inferene before 1.4
#KT-40128 Fixed
#KT-40112 Fixed
#KT-40113 Fixed
2020-07-10 14:23:45 +03:00
Alexander Gorshenev
e61960f333
Fake override construction fallback mode
2020-06-29 21:58:31 +03:00
Alexander Gorshenev
de79e3bec3
Added -Xdisable-fake-override-validator
2020-06-29 21:58:31 +03:00
Ilmir Usmanov
f127a0f593
Add flag to disable new spilled variable type analysis
2020-06-29 20:50:43 +02:00
Anton Bannykh
da79f93c61
JS IR: per-module .js generation support
2020-06-26 17:55:33 +03:00
Mathias Quintero
f0bc52222d
Fix annotation construction with array literals
...
Turns out the issue happens to be that ArrayValue uses a list of values which needs to be translated to an array of the percise type before it is used by callBy
This also addresses handling of arguments after a vararg in an annotation
2020-06-19 13:20:57 +02:00
simon.ogorodnik
cd9273028b
Profiling and repeat support for JVM CLI Compiler
2020-06-08 20:40:27 +03:00
Ilya Muradyan
489290263f
Add info about the end of range in scripting REPL compiler messages
2020-06-05 21:58:28 +02:00
Ilya Chernikov
5e33612238
Extract interface from CompilerMessageLocation to ease extension
...
The CompilerMessageLocation is an implicit part of the binary daemon
protocol so changing it breaks compatibility with older daemons.
This change allows to extend location for non-daemon uses without
breaking the binary protocol.
2020-06-05 21:58:27 +02:00
Ilya Chernikov
fb6ef38370
Revert "Add info about the end of range in scripting REPL compiler messages"
...
This reverts commit af251caf , because it breaks daemon/client
compatibility, which we'd like to keep as much as possible
2020-05-15 21:15:48 +02:00
Dmitriy Novozhilov
cb0a7a5bf7
[FIR] Rename FirExtensionRegistrarExtension to FirExtensionRegistrar
2020-05-08 15:09:57 +03:00
Dmitriy Novozhilov
a37975ab21
[FIR] Add compiler extension for plugin registration
2020-05-08 15:09:56 +03:00
Alexander Udalov
a0400f59c2
Add -Xskip-prerelease-check compiler argument
...
#KT-38070 Fixed
2020-05-07 13:24:26 +02:00
Mikhail Bogdanov
4f7599076c
Postpone JvmDefault deprecation. Revert "Deprecate @JvmDefault"
...
This reverts commit c11f3868
2020-05-04 10:02:16 +02:00
Alexander Udalov
94346e8a03
Add JVM target bytecode version 14
...
#KT-38413 Fixed
2020-04-28 13:00:23 +02:00
Ilya Matveev
e4f4b4eef0
[JS IR] Support setting custom module name (= unique name)
...
Required for #KT-36721.
2020-04-22 10:50:26 +07:00
Vladimir Dolzhenko
86a02c07f6
Fix KotlinNativeABICompatibilityChecker.getLibrariesToNotifyAbout freeze
...
Get rid of O(n^2) in copyProperties
make ModuleProductionSourceInfo.stableName lazy
add checkCanceled in loops in IdeaModelInfosCache
#KT-38318 Fixed
2020-04-18 11:36:21 +02:00
Ilya Muradyan
d2fec96f38
Add new REPL API JVM implementation
2020-04-16 21:16:08 +02:00