Commit Graph

80272 Commits

Author SHA1 Message Date
dependabot[bot] 1ca5bef7e6 Bump junit
Bumps [junit](https://github.com/junit-team/junit4) from 4.9 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.9...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-12 22:18:57 +00:00
Alexander Udalov e399b4cd12 JVM IR: minor, sort ElementType fields as in the old backend
In the old backend, targets are generated in the order of their
declaration in the ElementType enum, see AnnotationCodegen.java:306
(EnumSet guarantees such iteration ordering).

This has no effect other than reducing non-essential differences when
comparing ABI of JVM vs JVM_IR.
2020-10-12 21:38:09 +02:00
Alexander Udalov 1daeebcdd3 Minor, add regression test
#KT-42562
2020-10-12 21:37:37 +02:00
Alexander Shabalin 6c1a482539 Add crashing test on KT-41811 (#4437) 2020-10-12 22:20:43 +03:00
pyos 2ff011af17 JVM_IR: add an assertion and a comment about property references
I once again forgot why we don't cache property reference classes and
had to refer to the internal chat.
2020-10-12 21:14:00 +02:00
pyos 1663619606 JVM_IR: add local delegated property metadata to non-synthetic classes
Otherwise kotlin-reflect won't find it (and it won't even be serialized
anyway).

 #KT-42562 Fixed
2020-10-12 21:14:00 +02:00
pyos 2974004de4 JVM_IR: make PropertyReferenceLowering less quadratic
ClassLoweringPass creates a visitor and calls lower() on each class,
which then creates another visitor that does not override `visitClass`
to ignore the nested classes. This is generally not a good idea.
2020-10-12 21:14:00 +02:00
Ilmir Usmanov d7b9920eba Treat field initializer as class initializer
when checking for allowance of other field initialization in lambda
with EXACTLY_ONCE contract.
 #KT-40948 Fixed
2020-10-12 20:16:21 +02:00
Ilmir Usmanov 3b5706972e Extract effect from lambda argument if it is in parentheses
Otherwise, contracts on the parameter have no effect.
 #KT-42044 Fixed
 #KT-26229 Fixed
2020-10-12 20:16:19 +02:00
Dmitry Petrov df64bb3eb7 JVM_IR emulate JVM hack for generic signatures in KT-18189
KT-40307

See also KT-42609
2020-10-12 21:14:48 +03:00
Steven Schäfer f20a695c0e Minor: Rebase testGenericConstructorCallWithTypeArguments 2020-10-12 17:34:34 +02:00
Victor Petukhov c89461e654 JSpecify: add gradle task to download JSpecify test suite 2020-10-12 17:33:35 +03:00
Victor Petukhov d0cd7a4008 JSpecify: exclude test running from the common test task 2020-10-12 17:33:35 +03:00
Victor Petukhov 9dab052266 JSpecify: implement tests generator and test runner with checking compliance of kotlin diagnostics and jspecify marks 2020-10-12 17:33:35 +03:00
Victor Petukhov f39e2d4a2d JSpecify: convert java use sites for existing tests to kotlin ones 2020-10-12 17:24:35 +03:00
Victor Petukhov ce44f7d4d3 JSpecify: implement kotlin use sites to java ones converter 2020-10-12 17:24:31 +03:00
Victor Petukhov 520e35baaf JSpecify: rework tests – replace kotlin use sites to java ones with future j2k conversion 2020-10-12 17:24:29 +03:00
Victor Petukhov 8974128be4 JSpecify: remove annotations unsupported yet 2020-10-12 17:24:27 +03:00
Victor Petukhov fb8bba4dfb Include kotlin reflect test runtime dependency for tests-java8 module to make jps tests running work 2020-10-12 17:24:26 +03:00
Vladimir Dolzhenko 677f5ca4e3 Don't keep ref to ABSENT_KOTLIN_INJECTION in companion object
As it prevents from dynamic reloading of plugin

^KT-39958 Fixed
2020-10-12 13:09:18 +00:00
Vladimir Dolzhenko 7c2112d014 Prepare for KT dynamic plugin: make EP dynamic
Relates to ^KT-38518
2020-10-12 13:09:17 +00:00
Vladimir Dolzhenko 0e7e24c498 Add more diagnostics to address invalid module
Relates to ^KT-42274
2020-10-12 13:03:22 +00:00
Roman Artemev fa7104213c Temporary disable test until bootstrap is updated 2020-10-12 15:22:44 +03:00
Roman Artemev f824bb6987 [JS BE] Merge Legacy and IR BE exceptions-related test data
- regenerate tests
 - add consistency test
2020-10-12 15:22:44 +03:00
Roman Artemev c16b11a124 [JS IR BE] Fix throwable stuff to make exceptions similar to JVM 2020-10-12 15:22:43 +03:00
Roman Artemev ff093d363a [JS IR BE] Fix Throwable ancestor transformation
Make sure that `message` and `cause` are properly configured

 - synchronize IR BE and Legacy behaviour
 - fix corresponding IR lowering
 - fix JS IR core runtime
 - add test
 - fix KT-39964
2020-10-12 15:22:43 +03:00
Roman Artemev 383146f836 [JS IR BE] Add compiler instrinsic to express undefined value in BE 2020-10-12 15:22:43 +03:00
Vasily Levchenko 9e6031e66a [kotlin compiler][update] 1.4.30-dev-1359
* 3eeaa07e0c - (tag: build-1.4.30-dev-1359) Sync up plugin.xml AS42 with 202 (vor 2 Stunden) <Vladimir Dolzhenko>
* f941733f13 - (tag: build-1.4.30-dev-1358) [JVM_IR] Rebase init blocks stepping test that is working as intended. (vor 2 Stunden) <Mads Ager>
* a9bc63dece - (tag: build-1.4.30-dev-1337) Drop redundant legacy_name from ide perf tests json stats (vor 35 Stunden) <Vladimir Dolzhenko>
* a4fb2a445f - (tag: build-1.4.30-dev-1328) Minor, add spaces to diagnostic message (vor 3 Tagen) <Alexander Udalov>
* ac39e4d89c - Minor, add regression test (vor 3 Tagen) <Alexander Udalov>
* 6f9f437f15 - IR: refuse to copy classes in InitializersLowering (vor 3 Tagen) <pyos>
* e6c0575d3a - JVM_IR: do not deep-copy suspend lambdas in initializers (vor 3 Tagen) <pyos>
* 8bc7370b92 - (tag: build-1.4.30-dev-1324) ForLoopsLowering: Add PLUSEQ origin to increment to use IINC instructions if possible. (vor 3 Tagen) <Mark Punzalan>
* 14137cb013 - ForLoopsLowering: Remove `additionalNotEmptyCondition` as it is no longer used in UntilHandler. (vor 3 Tagen) <Mark Punzalan>
* ccbf7cc2ee - ForLoopsLowering: Use last-exclusive for-loops for optimized `until` progressions instead of decrementing "last". (vor 3 Tagen) <Mark Punzalan>
* 1adb130509 - ForLoopsLowering: Move `isLastInclusive` to HeaderInfo. (vor 3 Tagen) <Mark Punzalan>
* a093efde11 - Add blackbox test for KT-42533. (vor 3 Tagen) <Mark Punzalan>
* 375d92cf67 - (tag: build-1.4.30-dev-1319) Merge two consequent records in LVT (vor 3 Tagen) <Ilmir Usmanov>
* 91b8e32d43 - (tag: build-1.4.30-dev-1318, origin/rr/pdn_jvmir_abi_tests) Add ABI tests for classes extending Number and CharSequence (vor 3 Tagen) <Dmitry Petrov>
* 6dd2d8bbdb - (tag: build-1.4.30-dev-1312) JVM_IR drop 'SpecialMethodWithDefaultInfo#needsArgumentBoxing' (vor 3 Tagen) <Dmitry Petrov>
* a412596d8e - JVM_IR emulate old back-end behavior in special bridges + inline classes (vor 3 Tagen) <Dmitry Petrov>
* 92fa13cbab - Workaround for a possible compiler bug in object literals (vor 3 Tagen) <Dmitry Petrov>
* 23beaa5883 - [formatter] add tests for line indent after properties (vor 3 Tagen) <Dmitry Gridin>
* 434139d986 - Revert "Add indent before accessor for extension property (KT-33131)" (vor 3 Tagen) <Dmitry Gridin>
* 852d705c71 - (tag: build-1.4.30-dev-1305) FIR: optimize converting string expressions in raw FIR builder (vor 3 Tagen) <Ilya Kirillov>
* 5937ffae4d - FIR: optimize checking if placeholder projection for raw FIR builder (vor 3 Tagen) <Ilya Kirillov>
* bbc641b390 - FIR: do not get statement text for every statement in raw FIR builder (vor 3 Tagen) <Ilya Kirillov>
* b1768d805f - (tag: build-1.4.30-dev-1298) [Gradle, JS] Rename dukatMode to externalsOutputFormat (vor 3 Tagen) <Ilya Goncharov>
* 3ad6d58153 - [Gradle, JS] Execute dukat on import in both mode (vor 3 Tagen) <Ilya Goncharov>
* 0a86beeb64 - [Gradle, JS] Add descriptors to dependencies in configurations phase (vor 3 Tagen) <Ilya Goncharov>
* af65365d6a - [Gradle, JS] Move gradle post processing after executing of dukat (vor 3 Tagen) <Ilya Goncharov>
* 4eea52e4e7 - [Gradle, JS] Add TaskAction on overriden method for integrated task (vor 3 Tagen) <Ilya Goncharov>
* b37414ae0b - [Gradle, JS] Add test on compilation with dukat binaries (vor 3 Tagen) <Ilya Goncharov>
* c1fe8defd2 - [Gradle, JS] Dukat descriptors (vor 3 Tagen) <Ilya Goncharov>
* 500fceb438 - [Gradle, JS] Add binary dukat mode (vor 3 Tagen) <Ilya Goncharov>
* f50851a982 - (tag: build-1.4.30-dev-1297) Fix testdata after migrating to NewKotlinTypeCheckerImpl in OverrideResolver (vor 3 Tagen) <Dmitry Savvinov>
* f02593074f - Drop isEqualTypeConstructor in favour of areEqualTypeConstructors (vor 3 Tagen) <Dmitry Savvinov>
* fc4b488d43 - Use NewKotlinTypeChecker in OverridingUtil (vor 3 Tagen) <Dmitry Savvinov>
* 01d6181050 - Add test on overriding declaration with a composite type with expect declaration (vor 3 Tagen) <Dmitry Savvinov>
* f8b9011667 - Minor: unify error reporting for fun/properties overriding (vor 3 Tagen) <Dmitry Savvinov>
* ac63d8b3bf - Unify code for checking return type on override for fun/property (vor 3 Tagen) <Dmitry Savvinov>
* 736ecf3e9f - Add test case on overriding property of expect-type (vor 3 Tagen) <Dmitry Savvinov>
* ac107f362e - Refine types of type parameters before checking their equality in OverridingUtil (vor 3 Tagen) <Dmitry Savvinov>
* 80f4061a3d - Add test on override with expect in return type (vor 3 Tagen) <Dmitry Savvinov>
* f8b8f94040 - (tag: build-1.4.30-dev-1296, tag: build-1.4.30-dev-1292) Adjust vega IDE performance test charts (vor 3 Tagen) <Vladimir Dolzhenko>
* a6efaf440a - (tag: build-1.4.30-dev-1291) FIR supertypes: replace class phase even if it hasn't unresolved supers (vor 3 Tagen) <Mikhail Glukhikh>
* 94302614cd - [FIR] Add forgotten resolving status of enum entries (by Dmitry) (vor 3 Tagen) <Mikhail Glukhikh>
* 5fbe715871 - [FIR] Add forgotten replacing resolve phase during type resolve (vor 3 Tagen) <Dmitriy Novozhilov>
* 1f5797e929 - Don't resolve annotation arguments in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* 6f89385aec - Transform forgotten property annotations in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* e5463be6ba - Don't transform parameter default values in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* bdec245424 - Don't transform enum entry initializer in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* 880eb6da6c - Don't transform delegated constructor args in FirTypeResolveTransformer (vor 3 Tagen) <Mikhail Glukhikh>
* 949952e766 - (tag: build-1.4.30-dev-1275) kotlinx-metadata: minor, remove incorrect ReplaceWith from IS_PRIMARY deprecation (vor 4 Tagen) <Alexander Udalov>
* afd710292a - [JVM_IR] Fix mangling of default argument stubs for internal methods. (vor 4 Tagen) <Mads Ager>
* 8c88670185 - (tag: build-1.4.30-dev-1270) FIR: copy constructor for typealias'ed inner/nested class (vor 4 Tagen) <Jinseong Jeon>
2020-10-12 13:14:49 +02:00
Vasily Levchenko de986ebedc [build] extract versions to gradle.properties 2020-10-12 13:14:49 +02:00
Florian Kistner 16c1c52729 Promote local mode to parameter of ObjcExportHeaderGeneratorMobile 2020-10-12 12:34:25 +03:00
Dmitriy Novozhilov f794ced888 [FIR] Fix incorrect cluster creating in CFG dumps 2020-10-12 11:55:05 +03:00
Dmitriy Dolovov 3495ec198d Minor. Small clean-up in KLIB decompiler 2020-10-12 10:24:18 +03:00
Vladimir Dolzhenko 3eeaa07e0c Sync up plugin.xml AS42 with 202
Relates to #KT-42274
2020-10-12 06:49:43 +00:00
Mads Ager f941733f13 [JVM_IR] Rebase init blocks stepping test that is working as intended. 2020-10-12 08:36:17 +02:00
Vladimir Dolzhenko a9bc63dece Drop redundant legacy_name from ide perf tests json stats 2020-10-10 23:57:39 +02:00
Alexander Shabalin 86ae02eb25 Ensure deinitialization of singletons for native library generation (#4422) 2020-10-10 03:04:55 +03:00
Alexander Udalov a4fb2a445f Minor, add spaces to diagnostic message 2020-10-09 22:11:37 +02:00
Alexander Udalov ac39e4d89c Minor, add regression test
#KT-42554
2020-10-09 22:11:37 +02:00
pyos 6f9f437f15 IR: refuse to copy classes in InitializersLowering 2020-10-09 22:11:00 +02:00
pyos e6c0575d3a JVM_IR: do not deep-copy suspend lambdas in initializers
This loses reflection metadata (and also sometimes fails). Which was
missing anyway - this is also fixed now.

 #KT-42554 Fixed
2020-10-09 22:11:00 +02:00
Mark Punzalan 8bc7370b92 ForLoopsLowering: Add PLUSEQ origin to increment to use IINC
instructions if possible.
2020-10-09 21:34:56 +02:00
Mark Punzalan 14137cb013 ForLoopsLowering: Remove additionalNotEmptyCondition as it is no
longer used in UntilHandler.
2020-10-09 21:34:56 +02:00
Mark Punzalan ccbf7cc2ee ForLoopsLowering: Use last-exclusive for-loops for optimized until
progressions instead of decrementing "last".

#KT-41352 Fixed
2020-10-09 21:34:56 +02:00
Mark Punzalan 1adb130509 ForLoopsLowering: Move isLastInclusive to HeaderInfo. 2020-10-09 21:34:56 +02:00
Mark Punzalan a093efde11 Add blackbox test for KT-42533. 2020-10-09 21:34:56 +02:00
Ilmir Usmanov 375d92cf67 Merge two consequent records in LVT
Otherwise, atomicfu will be unable to transform atomic variable usages.
2020-10-09 18:36:37 +02:00
Dmitry Petrov 91b8e32d43 Add ABI tests for classes extending Number and CharSequence 2020-10-09 16:36:35 +03:00
Dmitry Petrov 6dd2d8bbdb JVM_IR drop 'SpecialMethodWithDefaultInfo#needsArgumentBoxing' 2020-10-09 16:06:09 +03:00
Dmitry Petrov a412596d8e JVM_IR emulate old back-end behavior in special bridges + inline classes
KT-42491 KT-42539
2020-10-09 16:06:08 +03:00
Dmitry Petrov 92fa13cbab Workaround for a possible compiler bug in object literals 2020-10-09 16:06:08 +03:00