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
Nikolay Krasko
1cefe50e6e
Merge Kotlin build-1.5.0-dev-1282 with K/N (6b8547b8f93adb)
...
Straighten Char-to-code and Char-to-digit conversions out #KT-23451
Kotlin/Native base commit: 6b8547b8f93adb49447d6583d3d9934acd1b0922
2021-01-12 16:10:02 +03:00
Abduqodiri Qurbonzoda
8bb76c67e3
Straighten Char-to-code and Char-to-digit conversions out #KT-23451
...
(cherry picked from commit 4c0c46e87def97f9102da9df72331ebcfee09aab)
2021-01-12 15:56:42 +03:00
Abduqodiri Qurbonzoda
a4155e8fc4
Locale-agnostic case conversions by default #KT-43023
...
(cherry picked from commit 1b565500b935239484580005a31ae2630c61b25d)
2021-01-12 15:56:42 +03: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
Vasily Levchenko
d1fa7bb27c
[kotlin compiler][update] 1.5.0-dev-1282
...
* 98a9e142e8 - (HEAD -> master, tag: build-1.5.0-dev-1282, origin/master, origin/HEAD) JVM IR: Fix visibility of protected/private functions with reified types (vor 3 Tagen) <Steven Schäfer>
* dad10e94aa - (tag: build-1.5.0-dev-1281) JVM IR: Mangle names of $$forInline functions (vor 3 Tagen) <Steven Schäfer>
* 7cc06489dd - (tag: build-1.5.0-dev-1267) IR: move enum value array initialization out of <clinit> (vor 3 Tagen) <Jinseong Jeon>
* f8f08e8134 - IR: add a test about maximum number of constants in an enum class (vor 3 Tagen) <Jinseong Jeon>
* 0a8858fbfe - (tag: build-1.5.0-dev-1263) [minor] document -compiler-path option for kotlin runner (vor 4 Tagen) <Ilya Chernikov>
* 979144157f - Implement -howtorun option for kotlin runner (vor 4 Tagen) <Ilya Chernikov>
* edc730f70b - Implement -no-stdlib argument support in kotlin runner (vor 4 Tagen) <Ilya Chernikov>
* d2ecc1e361 - Implement -X arguments passing from kotlin runner to compiler (vor 4 Tagen) <Ilya Chernikov>
* 9a7d1948a7 - Implement support for -Xdefault-script-extension cli option (vor 4 Tagen) <Ilya Chernikov>
* 534342a566 - [minor] use new kotlin.io.path API in tests (vor 4 Tagen) <Ilya Chernikov>
* 1bd6cc823c - Fix provided properties access generation (vor 4 Tagen) <Ilya Chernikov>
* ffdcda8914 - [build] Fix JDK detection on Mac OS X 11 (Big Sur) (vor 4 Tagen) <Ilya Chernikov>
* 77836f1aa9 - (tag: build-1.5.0-dev-1258) [Test] Port checkVariableTable suspend lambda tests (vor 4 Tagen) <Kristoffer Andersen>
* 82abc80215 - (tag: build-1.5.0-dev-1256) Move old changelogs to docs/changelogs/ (vor 4 Tagen) <Alexander Udalov>
* db3bebb531 - (tag: build-1.5.0-dev-1255) Add Revved up by Gradle Enterprise badge to Readme (vor 5 Tagen) <Nelson Osacky>
* 41c4693ebf - (tag: build-1.5.0-dev-1233) Build: remove obsolete -Xir-binary-with-stable-abi (vor 7 Tagen) <Alexander Udalov>
* ee2ae0c471 - (tag: build-1.5.0-dev-1225) JVM IR: remove obsolete -Xir-check-local-names (vor 7 Tagen) <Alexander Udalov>
* acd29481bd - (tag: build-1.5.0-dev-1220) Regenerate sources of builtins and stdlib (vor 7 Tagen) <Alexander Udalov>
* ed9a0e514d - (tag: build-1.5.0-dev-1219) Regenerate tests and fir-tree (vor 8 Tagen) <Alexander Udalov>
* 96de9144de - (tag: build-1.5.0-dev-1211) [JS IR] Generate stub for exported functions with default params (vor 11 Tagen) <Shagen Ogandzhanian>
* bf3f6594d5 - (tag: build-1.5.0-dev-1210) IR: do not lose $default function annotations when generating calls (vor 11 Tagen) <Alexander Udalov>
* ac325f6111 - IR: add toString for IrBased descriptors (vor 11 Tagen) <Alexander Udalov>
* 3c37bbaf64 - (tag: build-1.5.0-dev-1209) Duration: normalize to avoid negative zeroes (KT-44168) (vor 11 Tagen) <Ilya Gorbunov>
* ae6f10df3b - Duration: reject NaN duration values (KT-44168) (vor 11 Tagen) <Ilya Gorbunov>
* 1d40ed39d0 - (tag: build-1.5.0-dev-1206) KotlinVersion: Advance snapshot version 1.4.255 -> 1.5.255 (vor 11 Tagen) <Ilya Gorbunov>
* 133e39b783 - (tag: build-1.5.0-dev-1204, origin/push/nk/all) Advance snapshot version 1.4.255 -> 1.5.255 (KTI-421) (vor 11 Tagen) <Nikolay Krasko>
* 662787b12b - (tag: build-1.5.0-dev-1192) Straighten Char-to-code and Char-to-digit conversions out #KT-23451 (vor 11 Tagen) <Abduqodiri Qurbonzoda>
* 79e426270c - (tag: build-1.5.0-dev-1188) Rename Random.Default serialization surrogate object (KT-25571) (vor 11 Tagen) <Ilya Gorbunov>
* 00506a75d3 - (tag: build-1.5.0-dev-1183) Make Random implementations serializable (KT-25571) (vor 11 Tagen) <Iaroslav Postovalov>
* 38967f208e - (tag: build-1.5.0-dev-1170, origin/rr/skuzmich/wasm-interface-calls-improvements2) [Wasm] Remove unused WasmI1 type (vor 12 Tagen) <Svyatoslav Kuzmich>
* 22239e2733 - [Wasm] Remove unused super class field in type info (vor 12 Tagen) <Svyatoslav Kuzmich>
* 785c947782 - [Wasm] Improve class type checks (vor 12 Tagen) <Svyatoslav Kuzmich>
* b6ad1584c9 - [Wasm] Improve interface method dispatch (vor 12 Tagen) <Svyatoslav Kuzmich>
* e7dc199ad7 - (tag: build-1.5.0-dev-1162) Init enum entries whenever we access companion object or accessing valueOf (vor 12 Tagen) <Shagen Ogandzhanian>
* 7fa04afda2 - (tag: build-1.5.0-dev-1155) JVM_IR KT-32115 fix $$delegatedProperties initialization in enum (vor 12 Tagen) <Dmitry Petrov>
* 3e3ffee2a0 - (tag: build-1.5.0-dev-1152, origin/push/demiurg906/bootstrap-update) Advance bootstrap to 1.5.0-dev-1141 (vor 12 Tagen) <Dmitriy Novozhilov>
* 81e00ca371 - (tag: build-1.5.0-dev-1145) JVM box tests for KT-30402 (vor 12 Tagen) <Dmitry Petrov>
* 1314adb6f7 - (tag: build-1.5.0-dev-1143) Locale-agnostic case conversions by default #KT-43023 (vor 12 Tagen) <Abduqodiri Qurbonzoda>
* 80289e4a3f - (tag: build-1.5.0-dev-1141, origin/master-for-ide) IC Mangling: Generate inline class literal instead of underlying type (vor 12 Tagen) <Ilmir Usmanov>
* 55a5695fc0 - (tag: build-1.5.0-dev-1132) [JS] Forbid export of interfaces (vor 13 Tagen) <Shagen Ogandzhanian>
* a6534c4653 - (tag: build-1.5.0-dev-1117) [FIR] Fix completion of synthetic call arguments (vor 13 Tagen) <Mikhail Glukhikh>
* b7a382f097 - (tag: build-1.5.0-dev-1115) Revert "Fix ISE when inferring type of a property that delegates to itself" (vor 13 Tagen) <Denis.Zharkov>
* 826985450e - (tag: build-1.5.0-dev-1110) Add test for KT-42036 (vor 13 Tagen) <Roman Artemev>
* 30a5eee481 - (tag: build-1.5.0-dev-1108) Don't approximate abbreviation during substitution it as it can't be projected at top-level (vor 13 Tagen) <Victor Petukhov>
* 009add2b41 - (tag: build-1.5.0-dev-1107) [Test] Report difference in test data file in a first place (vor 13 Tagen) <Dmitriy Novozhilov>
* 0af1c81d62 - (tag: build-1.5.0-dev-1104) Revert "Probably fix issue with creating module descriptor for SDK twice" (vor 13 Tagen) <Dmitriy Novozhilov>
* 6230a7861a - (tag: build-1.5.0-dev-1098) Wizard: do not print plugin repositories in build files if all of them are default ones (vor 13 Tagen) <Ilya Kirillov>
* 74077bf6d2 - (tag: build-1.5.0-dev-1090) [FIR] Don't attempt to process interface constructors (vor 13 Tagen) <Mikhail Glukhikh>
* 6a6e2a1c77 - (tag: build-1.5.0-dev-1089) Set custom timeout for flaky muted tests synchronization requests (vor 13 Tagen) <Yunir Salimzyanov>
* 27dd9484ba - (tag: build-1.5.0-dev-1086) Add missed type arguments for a star projection into the enhanced type arguments list (vor 13 Tagen) <Victor Petukhov>
* 531ba4bb48 - (tag: build-1.5.0-dev-1070) [IR] Narrow usage scope of ObsoleteDescriptorBasedAPI in CheckIrElementVisitor (vor 2 Wochen) <Zalim Bashorov>
* 02849edc22 - [IR] Make descriptor parameter optional for IrFileSymbolImpl and IrExternalPackageFragmentSymbolImpl (vor 2 Wochen) <Zalim Bashorov>
* 14254ceb0b - [IR] Remove no longer needed usages of ObsoleteDescriptorBasedAPI (vor 2 Wochen) <Zalim Bashorov>
* 0372dae3ce - [JS scripting] Remove usages of descriptor based APIs and proper support for callable references (vor 2 Wochen) <Zalim Bashorov>
* 9ac7c3d8bc - [Wasm] Remove usage of descriptor based API usage from WasmSharedVariablesManager (vor 2 Wochen) <Zalim Bashorov>
* c569ec1bad - [IR] Add dumpKotlinLike for IrType and IrTypeArgument (vor 2 Wochen) <Zalim Bashorov>
* 77a9d14f93 - (tag: build-1.5.0-dev-1067) Capitalize/decapitalize only ASCII characters across project (vor 2 Wochen) <Alexander Udalov>
* 5d4b0b19d4 - (tag: build-1.5.0-dev-1066) JVM_IR KT-13213 split string constants into parts of acceptable length (vor 2 Wochen) <Dmitry Petrov>
* 3f287d344e - (tag: build-1.5.0-dev-1065) KT-43941 [Sealed interfaces]: subclass intention (vor 2 Wochen) <Andrei Klunnyi>
* 1cac8b0d61 - KT-43941 [Sealed interfaces]: preliminary, J2K (vor 2 Wochen) <Andrei Klunnyi>
* 86792131cd - KT-43941 [Sealed interfaces]: preliminary, code cleanup (vor 2 Wochen) <Andrei Klunnyi>
* acbf382d04 - (tag: build-1.5.0-dev-1054) FIR: Add test on ambiguous vararg (vor 2 Wochen) <Denis.Zharkov>
* 8c7b23a8dd - FIR Java/JVM: avoid plain "Array" comparison (vor 2 Wochen) <Jinseong Jeon>
* 383de7a9c5 - FIR Java: Fix Java override ambiguity with vararg value type (vor 2 Wochen) <Jinseong Jeon>
* d663f204e5 - (tag: build-1.5.0-dev-1050) FIR Java: make method annotations lazy (vor 2 Wochen) <Mikhail Glukhikh>
* c8c34ebf17 - FIR Java: make constructor annotations lazy (vor 2 Wochen) <Mikhail Glukhikh>
* 56df95b8e7 - FIR Java: make field annotations lazy (vor 2 Wochen) <Mikhail Glukhikh>
2021-01-12 15:09:31 +03:00
Sergey Bogolepov
780adc4163
Fix mingw-linux_arm32_hfp cross-compilation
...
Use gold linker instead of default one since the latter doesn't support elf.
2021-01-12 15:09: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