Dmitriy Novozhilov
d49c198a7f
[FIR] Correctly initialize extensions in all sessions
2020-05-24 18:04:47 +03:00
Dmitriy Novozhilov
8d686226c7
[FIR] Introduce FirResolveProcessors
2020-05-24 18:04:47 +03:00
Dmitriy Novozhilov
594a854b4e
[FIR] Reimplement FirExtensionService
...
- Get rid of old FirExtensionsService
- Implement new FirExtensionService
- Remove duplicating code in FirExtensionRegistrar
2020-05-24 18:04:45 +03:00
Dmitriy Novozhilov
0b00015424
[FIR] Deprecate FirExtensionsService
2020-05-24 18:04:44 +03:00
Kevin Most
4f26ac9a04
Fix "Koltin" typos throughout codebase ( #3383 )
...
* Fix "Koltin" typos throughout codebase
* Update K2MetadataKlibSerializer.kt
2020-05-20 15:12:32 +03:00
Dmitriy Novozhilov
24c8a659ee
[FIR] Add FirSession as parameter for FirTotalResolveTransformer
2020-05-20 10:40:55 +03:00
Ilya Matveev
839e4ecff2
Allow passing a MessageRenderer to CLITool.mainNoExit
...
Earlier a system property was used to configure a message renderer
for the K/N compiler. The fix for KT-37550 requires getting rid of
using properties when the compiler is started in a Gradle process.
This patch allows us to specify a correct message renderer at
the K/N side depending on entry point used to run the compiler.
Issue #KT-37550
2020-05-19 18:57:41 +07:00
Mikhail Glukhikh
db7a7f6cd3
[FIR2IR] Move facade classes generation to the main converter
2020-05-18 11:48:33 +03: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
Alexander Udalov
012ffa2993
Support new scheme of compilation of OptionalExpectation annotations
...
Instead of generating these annotation classes as package-private on
JVM, serialize their metadata to the .kotlin_module file, and load it
when compiling dependent multiplatform modules.
The problem with generating them as package-private was that
kotlin-stdlib for JVM would end up declaring symbols from other
platforms, which would include some annotations from package
kotlin.native. But using that package is discouraged by some tools
because it has a Java keyword in its name. In particular, jlink refused
to work with such artifact altogether (KT-21266).
#KT-38652 Fixed
2020-05-12 19:28:57 +02:00
Igor Yakovlev
62c24c95b5
Add support for UltraLightScripts
2020-05-12 17:04:15 +03:00
Mikhail Glukhikh
1dd50ba1f2
[FIR] Use JvmGeneratorExtensions also from CLI
2020-05-08 17:57:55 +03:00
Dmitriy Novozhilov
4eb9eb0537
[FIR] Rename FirExtensionPoint to FirExtension
...
Also rename `FirExtensionPointService` to `FirExtensionsService`
2020-05-08 15:10:02 +03:00
Dmitriy Novozhilov
a1e719a127
[FIR] Register extensions in CLI
2020-05-08 15:10:01 +03: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
Alexander Udalov
7a369b3a6a
Mark PureIrGenerationExtension as deprecated to prevent more usages
...
The IR plugin extension mechanism is being reworked and in the new
scheme, this new extension point won't be necessary.
2020-05-06 22:51:32 +02:00
Steven Schäfer
7cad2be329
IR: Add an extension point after IR construction
...
The existing IrGenerationExtension is in the middle of IR construction
and basically requires plugins to work with the (deprecated) descriptors.
Since there are plans to change the IR extension point it makes sense to
introduce a temporary work-around to allow pure IR plugins to be
developed now, which could be ported to a more permanent API later.
2020-05-06 22:51:12 +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
Mikhail Glukhikh
34ae35b2aa
Move FirJvmClassCodegen inside fir:fir2ir:jvm-backend #KT-38156 Fixed
...
This removes dependency of IR JVM backend from FIR
2020-04-28 07:35:13 +03:00
Sergey Igushkin
67f4b7e2b0
Add a dependency from all klib-originated modules to the main module
...
This is required, for instance, to properly resolve supertypes across
the modules.
Issue #KT-37832 Fixed
2020-04-24 12:54:36 +03: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
Ilya Muradyan
af251cafa4
Add info about the end of range in scripting REPL compiler messages
2020-04-16 21:16:08 +02:00
Ilmir Usmanov
5ab55fbb57
Support -J<jvm-param> and "-Dname=value" in windows runner script
...
Otherwise, -J-ea has no effect on windows, which breaks assert tests.
Wrap parameters with delimeters in quotes.
#KT-30211 Fixed
2020-04-16 21:11:50 +02:00
Dmitry Petrov
ac5411c32e
Command-line option disabling KotlinNothingValueException generation
2020-04-16 19:38:30 +03:00
Dmitriy Dolovov
757d77600a
HMPP: Evaluate exact TargetPlatform for each K/N KLIB library
2020-04-14 21:07:38 +07:00
Dmitriy Dolovov
fee6a752e0
HMPP: Fix serialization of TargetPlatform in Kotlin facet
2020-04-14 21:07:22 +07:00
Dmitriy Dolovov
8d2e999776
HMPP: Parameterize NativePlatform with KonanTarget
2020-04-14 21:06:48 +07:00
Ilya Chernikov
195a90d333
Cleanup warnings in scripting code
2020-04-13 13:49:34 +02:00
Ilya Chernikov
d863dc04e6
Move compiler scripting tests to scripting plugin, remove unused funs
...
also remove some tests that are covered in the scripting-compiler
tests now.
Part of the cleanup to rewrite scripting to the new infrastructure.
2020-04-13 13:49:34 +02:00
Ilya Chernikov
15d76ae887
[minor] fix findCompiler logic in runner for debuggung
2020-04-13 13:49:32 +02:00
Alexey Tsvetkov
1c38466a22
Pass LookupTracker to deserialized scopes in JS KLIB compiler
...
Before this change, deserialized scopes were not tracking lookups properly,
because lookup tracker was not passed from compiler configuration correctly.
Because of that, lookups from dependencies were not tracked,
so multi-module IC was not working (chages were passed between modules,
but affected source files were not invalidated).
2020-04-10 05:35:45 +03:00
Mikhail Glukhikh
5c758af0a6
[FIR] Use ScopeSession from resolve transformer in FIR2IR
2020-04-09 15:22:55 +03:00
Mikhail Bogdanov
0ddef7e4e4
Add new options for '-Xjvm-default'
2020-04-09 07:37:33 +02:00
Alexander Gorshenev
97be5617ca
Renamed -Xklib-mpp to -Xexpect-actual-linker to reduce user confusion
2020-04-08 05:23:12 +03:00
Dmitriy Dolovov
5f5f219367
Keep KonanPlatformKt.isNative for backward compatibility
2020-04-01 11:46:43 +07:00
Nikolay Krasko
02b651ef28
201: Update to 201.6668.13
2020-03-30 18:09:30 +03:00
Nikolay Krasko
148cbe87f4
201: Use idea.plugins.compatible.build to avoid problems with build number
2020-03-30 18:09:29 +03:00
Nikolay Krasko
a8c3e4aa6f
201: Add additional registry key
2020-03-30 18:09:29 +03:00
Dmitriy Dolovov
9bbfe9c1ac
Rename: KonanPlatform, KonanPlatforms -> NativePlatform, NativePlatforms
2020-03-29 23:20:52 +07:00
Alexander Udalov
87da4be9bb
Move parametersMap.kt to 'cli-common'
...
Also reformat and slightly refactor it. This allows to get rid of
dependency of 'util' on 'kotlin-reflect-api'.
2020-03-28 21:30:08 +01:00
Alexander Udalov
4dcd0d1cb6
Extract module 'config' out of 'frontend'
...
Also move deprecated TargetPlatform there. This allows to get rid of the
dependency cli.common -> frontend, and even on frontend.common.
2020-03-28 21:30:05 +01:00
Alexander Udalov
143aef938b
Extract module 'js.config' out of 'js.frontend'
...
This allows to get rid of dependency cli.common -> js.frontend.
2020-03-28 21:30:05 +01:00
Alexander Udalov
15d2a06132
Extract module 'config.jvm' out of 'frontend.java'
...
This allows to get rid of dependency cli.common -> frontend.java.
2020-03-28 21:30:04 +01:00
Alexander Udalov
4aa47be202
Move CommonResolverForModuleFactory to 'frontend'
...
This will allow to get rid of dependency of 'cli-common' on 'frontend'.
2020-03-28 21:30:04 +01:00
Alexander Udalov
9e014e462b
Do not use CommonPlatforms directly in CommonResolverForModuleFactory
...
This allows to get rid of dependency of this code on CommonPlatforms,
which depends on all platforms (JVM, JS, Native), and eventually move it
to 'frontend'.
2020-03-28 21:30:03 +01:00