Commit Graph

71782 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 93ce37319a [Test] Drop BlackBoxCodegenTestGenerated from :compiler:tests-different:jdk 2021-01-12 18:35:32 +03:00
Dmitriy Novozhilov 85c87f7df9 [Test] Migrate AbstractBlackBoxCodegenTest to new infrastructure 2021-01-12 18:35:30 +03:00
Dmitriy Novozhilov f01122d8dc [Test] Fix module names according to MPP module conventions in test data 2021-01-12 18:35:29 +03:00
Dmitriy Novozhilov 0608c50e27 [Test] Properly configure dependencies for common modules in ModuleStructureExtractor 2021-01-12 18:35:28 +03:00
Dmitriy Novozhilov 285ccf7583 [Test] Don't generate JVM BB tests for expect-actual linker
This feature is supported only on JS backend so those tests on JVM
  are meaningless. Also those tests had passed on jvm because of
  old codegen tests didn't use `MODULE` directive and analyze all
  files in tests in single module
2021-01-12 18:35:27 +03:00
Dmitriy Novozhilov 3a41f1e435 [Test] Filter out support module with coroutine helpers from module deps
In old tests coroutine helpers was added as separate module named `support`
  instead of additional files for current module.
So to safe compatibility with old testdata we need to filter this dependency
2021-01-12 18:35:26 +03:00
Dmitriy Novozhilov 065255adbe [Test] Support friend modules in new test infrastructure 2021-01-12 18:35:24 +03:00
Dmitriy Novozhilov 7e92fb8eb9 [Test] Remove redundant empty IGNORE_BACKEND directive 2021-01-12 18:35:23 +03:00
Dmitriy Novozhilov 726184eda9 [Test] Add @JvmMultifileClass to coroutine helpers files
This is needed to keep compatibility with old format, when all those
  helpers were generated dynamically on test run in one file, so
  you can reference helpers methods from java code just importing
  `helpers.CoroutineUtilKt`
2021-01-12 18:35:22 +03:00
Dmitriy Novozhilov 9fd2800594 [Test] Support KOTLIN_CONFIGURATION_FLAGS directive in new tests 2021-01-12 18:35:20 +03:00
Dmitriy Novozhilov e0cd830a0e [Test] Drop codegen tests for experimental coroutines
Experimental coroutines was deprecated in Kotlin 1.3,
  so since Kotlin 1.5 we don't support (and don't test) them
2021-01-12 18:35:18 +03:00
Dmitriy Novozhilov d547ce7c42 [Test] Save TargetBackend instead of BackendKind in TestModule 2021-01-12 18:35:17 +03:00
Dmitriy Novozhilov 3c2079c926 [Test] Compute target backend in test generator automatically using reflection 2021-01-12 18:35:16 +03:00
Dmitriy Novozhilov 9378d1ff31 [Test] Add nullability annotations on InTextDirectivesUtils methods 2021-01-12 18:35:15 +03:00
fjjohnchen 49f2ac3545 KT-43818:NPM Dependencies already resolved and installed in Android Studio resolve 2021-01-12 17:24:05 +03:00
Dmitriy Novozhilov 5382e68180 [Test] Properly delete temporary directories after test run 2021-01-12 16:51:33 +03:00
Dmitriy Novozhilov ce44a2a7e4 [Test] Inject info about test (class and method names, tags) to TestServices 2021-01-12 16:51:32 +03:00
Dmitriy Novozhilov 84eb74e194 [Test] Fix bug with FirCfgDumpHandler which didn't start at all
Flag `alreadyDumped` is needed due to the fact that CFG dumper is not
  prepared to multimodule tests yet, so in such test this handler
  dumps only first module to .dot file.
I forgot to switch it to `true` when it was introduced, so this checker
  actually, didn't handle anything at all
2021-01-12 16:51:31 +03:00
Dmitriy Novozhilov 13f6b37ae7 [Test] Drop duplicating Constructor typealias 2021-01-12 16:51:29 +03:00
Dmitriy Novozhilov af94bcebea [IDE] Propagate KotlinFacetSettings version and completely drop isReleaseCoroutines flag
Also this commit removes number of tests related to support
  experimental coroutines
2021-01-12 16:47:55 +03:00
Dmitriy Novozhilov e991c9d476 [CLI] Drop CommonCompilerArguments.coroutinesState 2021-01-12 16:47:54 +03:00
Dmitriy Novozhilov df3b12e13b [FE] Drop coroutinesState from build configurations plugins 2021-01-12 16:47:51 +03:00
Dmitriy Novozhilov 7f4a925b85 [FE] Drop isReleaseCoroutines flag from LanguageSettingsProvider 2021-01-12 16:47:50 +03:00
Dmitriy Novozhilov a8b65bc673 [IDE] Drop coroutines KotlinFacetSettings.coroutineSupport 2021-01-12 16:47:48 +03:00
Dmitriy Novozhilov 69e1d60b08 [IDE] Drop coroutines combo box from compiler configuration tab 2021-01-12 16:47:47 +03:00
Alexander Udalov 0fef890d1a Minor refactoring in CompileEnvironmentUtil 2021-01-12 14:45:06 +01:00
scaventz 4374438ff1 Kotlinc: Exclude module-info.class from resulting jar when "-include-runtime" is specified 2021-01-12 14:45:06 +01:00
Alexander Udalov 742fef9042 Rewrite generator for OperationsMapGenerated
Do not generate operations as lambdas; instead use `when` over
strings/enums, which is generated to tableswitch in the bytecode.

This reduces the proguarded compiler jar size by ~0.57%.

 #KT-23565 Fixed
2021-01-12 14:38:41 +01:00
Ilya Goncharov df75cddcb8 [Gradle, JS] Add possibility to set jvmArgs for dce process
^KT-44104 fixed
2021-01-12 15:54:28 +03:00
Svyatoslav Kuzmich ab753625fe [JS Legacy] Fix returning Char from suspend functions (KT-44221)
Mark translated expression with a proper type, like we do with
non-suspending calls, to coerce it later.
2021-01-12 15:42:31 +03:00
Svyatoslav Kuzmich 2d88ff6fb2 [JS IR] Fix unsgined integer default arguemtns (KT-44180)
Const lowering didn't exprect null constants with unsigned number
types and crashed with NPE. This commit fixes that.
2021-01-12 15:42:31 +03:00
scaventz 0110b4e4b4 Ant: Add support for fork-mode
#KT-44293
2021-01-12 13:03:27 +01:00
Kris Hall ee952db1a2 Added samples for String.replace() function 2021-01-12 14:59:43 +03:00
Iaroslav Postovalov 77180a5b13 [JVM IR] Make file classes with all private members package-private 2021-01-12 12:47:59 +01:00
Mikhail Zarechenskiy 032c64669c Show pre-released 1.5 version in configuration preferences
^KT-44116 Fixed
2021-01-12 14:15:30 +03:00
Jinseong Jeon d53354057a FIR: build functional type for SAM with receiver properly 2021-01-12 10:33:55 +03:00
pyos f618763250 FIR: implement -Xfriend-paths 2021-01-12 10:33:45 +03:00
Ilya Chernikov bd708da82c Do not check script discovery file extension
it is optional (so far), so this check was incorrect.
#KT-44117 fixed
2021-01-11 19:50:22 +01:00
Denis.Zharkov 0e3aaceb16 Fix ultra light structure for @JvmRecord classes 2021-01-11 20:51:40 +03:00
Kristoffer Andersen 43b61a618d [IR+Tests] Improve Local Function Debugging Experience
This change improves the debugging experience around local functions
on the IR backend. The changes include moving old
checkLocalVariablesTable (cLVT) tests to the new stepping/local variable
infrastructure in order to refine the tests and further define the
behavior of the two JVM backends, and their differences.

The primary ported test case is cLVT/localFun.kt that documents the
discrepancy in implementation strategy for local functions on the two
backends. The old backend implements local functions as lambdas
assigned to a local variable while the IR backend lifts them out as
static funtions on the surrounding class. The discrepancies and their
consequences are documented in bytecodeListing, idea-stepping,
localVariableTable and debugStepping tests.

The only _code change_ is disabling the captured variable name
mangling for captured variables on the IR backend. Captured variables
are passed as arguments to the static function, so in the debugger,
they really just are local variables. For them to show properly in the
debugger and be detectable by evaluate expression, they simply need no
mangling.

Finally, this change cleans 3 redundant cLVT tests, copyFunction.kt
and destructuringInlineLambda.kt and destructuringInFor.kt, that are
all covered in the new suite. The stepping behavior needs to be made
precise around for loops, but that is an entirely seperate issue.
2021-01-11 18:21:23 +01:00
Alexander Udalov c2d7b69e5f Remove bytecode text test kt15806.kt
It's not correct to expect that the backend generates the `when` in this
test as tableswitch because there are only two branches. JVM IR has a
cutoff in the when optimization and generates `when`s with fewer than 3
branches as if-else chains, which is probably better. Note that there's
also a corresponding box test in when/enumOptimization/, so the backend
behavior is still tested.
2021-01-11 17:27:03 +01:00
Alexander Udalov 92f3b759c0 Fix codegen test data for genericTypeWithNothing.kt
#KT-18367 Fixed

Co-authored-by: Zalim Bashorov <zalim.bashorov@jetbrains.com>
2021-01-11 17:20:55 +01:00
Mikhail Glukhikh 0c0dbd6245 [FIR] Perform more accurate pre-check of candidate receiver type 2021-01-11 17:57:04 +03:00
Mikhail Glukhikh 4e4293b609 [FIR] Introduce separate getTopLevelFunction/PropertySymbols 2021-01-11 17:52:51 +03:00
Mikhail Glukhikh fd99f2b2cf FirDefaultStarImportingScope: improve measurements 2021-01-11 17:52:05 +03:00
Mikhail Glukhikh 33037fd885 FirAbstractImportingScope: minor simplification 2021-01-11 17:52:00 +03:00
Mikhail Glukhikh 3f5e515bd6 Fix broken ABI in DiagnosticFactory #KT-44145 Fixed 2021-01-11 17:43:35 +03:00
Dmitry Petrov b02a9846d0 IR KT-44233 support flexible nullability in IrTypeSystemContext
^KT-44233 Fixed Target versions 1.5-M1
2021-01-11 17:33:50 +03:00
Jinseong Jeon 093f62caac FIR2IR: check non-parameter Unit type for adapted callable references 2021-01-11 16:23:00 +03:00
Mikhail Galanin 4d3ec301c0 Misprint: "val or val" instead of "val or var" 2021-01-11 14:07:34 +01:00