Alexander Gorshenev
5de7a10df0
Eliminated -Xdeserialize-fake-overrides
2020-11-09 16:02:14 +03:00
Ilya Chernikov
d7112a4500
Implement JVM IR support for scripts
2020-10-30 12:57:42 +01:00
Matthew Gharrity
99a6bdeec7
Fix KotlinCoreEnvironment projectCount disposable
...
The disposable which decrements ourProjectCount was a non-capturing
lambda, meaning it had a single identity and could only be registered
in the Disposer tree once. Therefore the application environment
would never be disposed if ourProjectCount ever went above 1.
2020-10-26 12:23:10 +01: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
Alexander Udalov
dd813777b9
Refactor Main-Class computation in CLI for JVM with .jar outputs
...
Compute FQ name of the main class right after running the analysis and
before invoking codegen. This is needed because MainFunctionDetector
depends on BindingContext, and JVM IR needs to clear BindingContext as
soon as it's not necessary to reduce peak memory usage, thus breaking
any usages of data from it after the codegen.
Also refactor and use the extracted, but not properly reused previously,
copy of findMainClass in findMainClass.kt.
Note that this replaces NPE in KT-42868 with an UOE.
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
Jinseong Jeon
4d28463f1a
FIR CLI: initialize module and dependencies
...
#KT-42624 Fixed
2020-10-14 14:56:37 +03: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
Ilya Chernikov
d7e0649d93
Automatically add -- after script/expression in kotlin runner
...
#KT-37987 fixed
2020-10-05 22:35:58 +02:00
Mikhael Bogdanov
c329c22630
Add runtime string concat options. Some renaming
2020-10-02 11:47:27 +02:00
Konstantin Tskhovrebov
5d2adce7ab
as42: Add lost project parameter to CliLightClassGenerationSupport.
2020-09-30 11:38:18 +03:00
Konstantin Tskhovrebov
803463ac11
Revert "as42: Fix override."
...
This reverts commit d33391f4
2020-09-30 10:28:38 +03:00
Konstantin Tskhovrebov
34b6003371
as42: remove unused bunch files
2020-09-29 15:32:35 +03:00
Konstantin Tskhovrebov
8a4aac53d8
as42: Fix override.
2020-09-29 15:32:34 +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
1f3602c4b7
as42: Register DumbUtil service as it required in PsiElementFinderImpl
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
Nikolay Krasko
5ba70b2cbb
as42: Additional fixes for AS42 and 202 platform
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
Alexander Udalov
f273edeb8e
Build: upgrade language to 1.3 in cli, compiler plugins and Gradle plugin
...
The language/API version restriction here is to make sure the code works
with Gradle of earlier versions, but all versions of Gradle that we
support already depend on Kotlin 1.3+.
2020-09-22 19:10:58 +02:00
Alexander Udalov
5755c32c84
Minor, fix appendln deprecation warnings in cli
...
Can't use appendLine yet because this module is compiled with API
version 1.3.
2020-09-22 19:10:58 +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
pyos
aa58ed9234
JVM_IR: partially implement FIR local delegated property reflection
...
Type parameter references are broken, just like for lambdas. Also, the
code is super ugly.
2020-09-22 09:35:45 +03:00
pyos
dd913ef450
JVM_IR: move common metadata serialization code to ClassCodegen
2020-09-16 18:58:40 +02:00
Mikhail Glukhikh
97ebf2867a
[FIR] Get rid of type mismatch suppression during diagnostic casting
2020-09-14 18:08:33 +03:00
Dmitriy Novozhilov
4929417aea
Remove redundant type arguments to fix compilation with FIR
...
#KT-41835
2020-09-14 10:57:09 +03:00
Andrey Uskov
175a8bec9d
Make KotlinCoreEnvironment.disposeApplicationEnvironment() public
...
The method disposeApplicationEnvironment should be used in Gradle
after the configuration phase. This allows not to recreate the compiler
environment after each kts file compilation and improve overall
performance the evaluation and configuration phases.
2020-09-11 15:13:11 +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
Igor Yakovlev
4b8f1bb362
[ULC] Add LanguageVersionSettings to CliLightClassGenerationSupport
...
+ refactoring
2020-09-11 12:49:04 +03:00
Igor Yakovlev
131c14626c
[ULC] Fix invalid alias search for UL classes
2020-09-11 12:49:03 +03:00
Igor Yakovlev
6542ea9ba1
[ULC] Add constant evaluation to light classes service
2020-09-11 12:49:01 +03:00
Igor Yakovlev
55bb8f24e3
[ULC] Move UltraLightSupport to service provided bridge
2020-09-11 12:49:01 +03:00
Alexander Udalov
7fb7dc0210
Fix deprecation warnings related to Project extensions
2020-09-08 20:26:20 +02:00
Alexander Udalov
e7937db8fa
Add link to the online docs to kotlinc's help
...
#KT-35111 Fixed
2020-09-02 16:45:56 +02:00
Alexander Udalov
6b05e1d179
Add warning to 'kotlinc.bat help' that delimiters need to be escaped
...
Related to KT-41303, KT-41309.
2020-09-02 16:45:40 +02: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
Dmitriy Novozhilov
a4e24ca3dc
[FIR] Introduce FirAnalyzerFacade which hides implementation details of running FIR compiler
2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov
6db8c28291
[FIR] Refactor session components initialization
...
From now all customization of session should perform via DSL which
declared in FirSessionFactory. Registration or mutation session
services from other places is prohibited
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
a8d23c36f5
[FIR] Introduce module :fir:entrypoint and FirSessionFactory for creating sessions
2020-09-01 12:00:12 +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
Dmitriy Novozhilov
2e92fe9be9
[FIR2IR] Add fir2ir component for converting fir visibility to FE 1.0
2020-08-25 10:31:36 +03:00