Dmitry Savvinov
520e871280
Rename *AnalyzerFacade to *ResolverForModuleFactory to prevent confusion with other similar names
2019-05-28 13:08:06 +03:00
Ilya Chernikov
ea068e483c
Implement JSR-223 functionality on top of the "new" REPL
2019-05-25 10:10:29 +02:00
Ilya Chernikov
46915df56f
Implement "legacy" REPL wrappers on top of the "new" scripting infrastructure
2019-05-25 10:10:29 +02:00
Ilya Chernikov
89006f16cd
Prepare scripting infrastructure for REPL:
...
- refactor script compiler to simplify extending it for repl
- add repl snippet compilation functions to the new scripting compiler
- extract util functions into appropriate files
- extract repl part into separate class
- extract bridge definition and related definitions into separate file
2019-05-25 10:10:28 +02:00
Alexander Udalov
4e15b95d17
Minor, inline JvmAbi.DEFAULT_MODULE_NAME
2019-05-24 14:42:25 +02:00
Mikhail Glukhikh
b72f3aa206
Remove code duplication in KotlinToJvmCompiler (old FE vs FE IR)
...
Related to KT-31265
2019-05-23 14:02:07 +03:00
Mikhail Glukhikh
05154d24d4
Select stub or real symbol for java.lang.Class in IR dependent on mode
...
This commit fixes some black-box IR tests broken by stub introduction
2019-05-23 14:02:07 +03:00
Mikhail Glukhikh
f4fdc66a34
Introduce experimental FIR compiler #KT-31265 Fixed
...
This commit also includes several FIR2IR fixes which helps FIR compiler
to produce normal results
2019-05-23 14:02:06 +03:00
Alexander Udalov
d340f6dc62
Minor, simplify code in parseCommandLineArguments
2019-05-22 08:48:37 +02:00
Svyatoslav Kuzmich
b07690fccf
Phaser: Implement dumper and verifier as general actions
2019-05-14 16:23:43 +03:00
Svyatoslav Kuzmich
91d16ee947
[CLI] Extract :compiler:cli-js from :compiler:cli
2019-05-14 15:49:50 +03:00
Svyatoslav Kuzmich
f4bb1354c9
[JS IR BE] Support friend modules
2019-05-08 23:34:00 +03:00
Simon Ogorodnik
6e3f173567
Implement old FE perf test similar to FIR modularized
2019-04-30 18:45:37 +03:00
Alexander Udalov
5aae832c5f
Minor, update doc on -Xsanitize-parentheses
...
The ASM issue with parentheses was fixed in
https://gitlab.ow2.org/asm/asm/commit/02f00c4a82d9252b34d08dad47c540309fda3b7e
#KT-29475
2019-04-30 13:15:29 +02:00
Andrey Uskov
998a24414a
Improved parsing of internal compiler arguments with boolean state in
...
case when the argument is listed twice in the list of command line
arguments. The last value will be used.
#KT-27181 Fixed
2019-04-29 19:48:01 +03:00
Roman Artemev
5bd3bcd237
[JS IR BE] Support main function
...
* Implement IR-based main function detector
2019-04-26 17:04:28 +03:00
Dmitry Gridin
3e74e875e8
Add a colon check in LanguageSettingsParser
2019-04-25 19:47:39 +07:00
Dmitry Gridin
37c856290f
Fix minor compile warnings
2019-04-25 19:47:39 +07:00
Dmitry Gridin
c41b98f5b9
Replace SystemInfo.isJavaVersionAtLeast("1.7") with SystemInfo.isJavaVersionAtLeast(1, 7, 0)
2019-04-25 19:47:38 +07:00
Svyatoslav Kuzmich
bb3b9a935f
Command line interface
2019-04-23 23:19:12 +03:00
nikita.movshin
deb416484c
Update copyright. Fix 2 lines comments after rebase
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
2019-04-23 20:15:03 +03:00
nikita.movshin
65244b4bea
Update copyright.
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +03:00
Vyacheslav Gerasimov
8723ad4f46
Switch to 191 platform
2019-04-22 21:52:19 +03:00
Alexander Udalov
822b210e85
Minor, update argfile usage description
2019-04-19 12:55:23 +03:00
Dmitry Gridin
3bed360c98
Fix "Should be replaced with Kotlin function" warnings
2019-04-18 15:28:52 +07:00
Ilya Chernikov
64c3bcd9ab
Drop refactored-out frontend.script module
2019-04-17 22:03:58 +02:00
Ilya Chernikov
a65dafc37d
Move scripting support classes to the scripting compiler impl module
2019-04-17 22:03:58 +02:00
Ilya Chernikov
4f135a5fe5
Move REPL implementations to the scripting compiler impl module
2019-04-17 22:03:57 +02:00
Ilya Chernikov
a82b386d81
Add a new module for scripting compilation infrastructure...
...
add embeddable variant as well
2019-04-17 22:03:57 +02:00
Ilya Chernikov
4625468de7
Expose project environment from core env, to allow usages of plugins...
...
before core env construction. Refactor script evaluation extension to
this scheme.
Plus some refactorings of the logic of script/repl evaluation in K2JVMCompiler
2019-04-17 22:03:57 +02:00
Mikhail Zarechenskiy
705a8a2234
[NI] Disable SAM-conversions for Kotlin functions by default
...
#KT-30661 Fixed
2019-04-17 01:40:54 +03:00
LepilkinaElena
21fe5ac415
Fix parser for linkerOpts/compilerOpts (KT-29970) ( #2219 )
2019-03-29 20:13:23 +03:00
Alexander Udalov
4cb5a4fb6d
Fix misc typos in IR backends
2019-03-28 14:26:09 +01:00
Alexey Tsvetkov
0687b8eac3
Add argument to allow running compiler without sources
...
`-Xbuild-file` argument allows the compiler to run without
passing any Kotlin source file in arguments.
We have been using this property in
Kotlin Gradle plugin for a few important cases:
1. incremental compilation (to update caches when there are only removed files);
2. for KAPT (Kotlin sources don't make sense in context
of running APs).
We want to stop using `-Xbuild-file` in Kotlin Gradle plugin,
and avoid breaking the Gradle plugin or IC in other build-systems.
This change adds an argument to explicitly run
the compiler without specifying any Kotlin source file.
2019-03-25 16:39:47 +03:00
Alexey Tsvetkov
97d3d38374
Always run codegen when IC is enabled
...
We may need to run code generation when no source files are specified
for incremental compilation (to update caches & metadata)
2019-03-25 16:39:47 +03:00
Alexey Tsvetkov
5b7cee6221
Unify JVM compilation with and without -Xbuild-file
2019-03-25 16:39:47 +03:00
Alexey Tsvetkov
4154e97aa3
Fixes after code review
2019-03-25 16:39:47 +03:00
Alexey Tsvetkov
5f54f67f70
Stop using -Xbuild-file in Gradle Plugin
...
#KT-27640 fixed
#KT-27778 fixed
#KT-27638 fixed
2019-03-25 16:39:47 +03:00
Alexander Udalov
87c6b723f0
Add JvmBuiltIns.Kind instead of boolean flags in constructor
2019-03-22 14:59:03 +01:00
Alexander Udalov
ed86757817
Rework how built-in types are loaded in compiler for JVM
...
In TopDownAnalyzerFacadeForJVM, we now always use the "load built-ins
from module dependencies" behavior that was previously only enabled with
the dedicated CLI argument -Xload-builtins-from-dependencies. However,
sometimes we compile code without kotlin-stdlib in the classpath, and we
don't want everything to crash because some standard type like
kotlin.Unit hasn't been found.
To mitigate this, we add another module at the end of the dependencies
list, namely a "fallback built-ins" module. This module loads all
built-in declarations from the compiler's class loader, as was done by
default previously. This prevents the compiler from crashing if any
built-in declaration is not found, but compiling the code against
built-ins found in the compiler is still discouraged, so we report an
error if anything is resolved to a declaration from this module, via a
new checker MissingBuiltInDeclarationChecker.
Also introduce a new CLI argument -Xsuppress-missing-builtins-error
specifically to suppress this error and to allow compiling code against
compiler's own built-ins.
#KT-19227 Fixed
#KT-28198 Fixed
2019-03-22 14:59:03 +01:00
Alexander Udalov
05700b8c43
Use JvmResolveUtil.createContainer in AbstractDescriptorRendererTest
2019-03-22 14:59:03 +01:00
Georgy Bronnikov
e627f08614
Make wrong phase name an error
2019-03-21 23:32:25 +03:00
Georgy Bronnikov
fae003866b
Use CLI compiler arguments directly in PhaseConfig creation
2019-03-21 23:32:25 +03:00
Georgy Bronnikov
469fd20902
Warn about mistyped phase names in CLI
2019-03-21 23:32:25 +03:00
Alexander Udalov
0fb444a5d1
Move createPhaseConfig to module cli
...
To use things like MessageCollector to report errors/warnings related to
incorrect phase configuration flags
2019-03-21 23:32:25 +03:00
Alexander Udalov
2995be8bd2
Move usages of createPhaseConfig up to cli & test modules
2019-03-21 23:32:25 +03:00
Ilya Chernikov
c56382a62b
Move common idea and compiler parts of the scripting plugin to the new jar
2019-03-21 12:02:29 +01:00
Alexander Udalov
518b03125c
Support JVM target versions up to 12
...
#KT-26240 Fixed
2019-03-07 11:42:31 +01:00
Alexander Udalov
9f75fd0d62
Minor, remove confusing logic from GenericReplChecker
2019-03-07 11:42:31 +01:00
Alexander Udalov
c7c377e1b1
Use JvmTarget.DEFAULT instead of JVM_1_6 where applicable
2019-03-07 11:42:31 +01:00