Commit Graph

2221 Commits

Author SHA1 Message Date
Ilya Muradyan 017f640f26 Allow skipping extensions resolution for implicit receivers 2020-06-19 13:03:23 +02:00
Ilya Chernikov 8fb41e4562 Process compiler plugins and options in scripting compiler
#KT-37766 fixed
2020-06-16 17:11:33 +02:00
Vyacheslav Gerasimov 4aa3040550 Build: Use runtimeOnly instead of deprecated runtime
maven-publish plugin uses `runtimeOnly` for runtime scope instead of
`runtime`
2020-06-14 20:31:26 +03:00
Nikolay Krasko 7190b3400f 202: Fix compilation in DefaultDiagnosticReporter 2020-06-10 12:39:29 +03:00
Nikita Bobko eb67c4519d 202: Fix compilation because of CoreJarVirtualFile
CoreJarVirtualFile is now package private. And seems that
most of VirtualFiles return system independent path
2020-06-10 12:39:28 +03: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
Vladimir Ilmov 3634cbe3cb (LightClasses) resolve of annotations fast-path 2020-06-05 13:27:10 +02:00
Mikhail Glukhikh 9ea69b4b3c Introduce first version of FirJvmKotlinMangler & its parts 2020-06-02 18:47:50 +03:00
Leonid Startsev 7c8c5b057f Extensible mechanism for plugin metadata during descriptor serialization
A mechanism that allows kotlinx.serialization plugin to preserve the
correct (program) order of properties after serializing/deserializing
descriptors to kotlin metadata, which is needed for correct and stable
json serialization of class hierarchies in incremental/multi-module scenario.
It uses protobuf extensions.
2020-06-01 17:48:16 +03:00
Nikita Bobko aa5a5c954f Refactoring: change "// BUNCH: xxx" format
It wasn't obvious how to use this comment properly.
Now it should be clear
2020-05-29 20:31:12 +03:00
Dmitriy Novozhilov b4ce736814 [FIR] Move registration components out of initializers of FirSession 2020-05-29 10:24:26 +03:00
Dmitriy Novozhilov 41cdb61ef3 [FIR] Move all symbol providers to separate package 2020-05-29 10:20:57 +03:00
Mikhail Glukhikh 048e7a7075 [FIR] Add forgotten FirJvmBackendClassResolver to CLI 2020-05-28 22:18:05 +03:00
Roman Artemev e6c855111e [KLIB] Add flag to select between per-file and monolithic layout 2020-05-26 14:41:49 +03:00
Roman Artemev bc32688497 [PLUGIN API] Drop PureIrGenerationExtension 2020-05-26 14:38:18 +03:00
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