Commit Graph

69854 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
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
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 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
Dmitry Gridin 23beaa5883 [formatter] add tests for line indent after properties
^KT-42560
2020-10-09 20:03:48 +07:00
Dmitry Gridin 434139d986 Revert "Add indent before accessor for extension property (KT-33131)"
This reverts commit ab34f8c7

^KT-42560 Fixed
2020-10-09 19:44:50 +07:00
Ilya Kirillov 852d705c71 FIR: optimize converting string expressions in raw FIR builder
Do get ASTNode for every string template entry as it is expensive operation
2020-10-09 15:00:56 +03:00
Ilya Kirillov 5937ffae4d FIR: optimize checking if placeholder projection for raw FIR builder 2020-10-09 15:00:55 +03:00
Ilya Kirillov bbc641b390 FIR: do not get statement text for every statement in raw FIR builder
PsiElement.getText This is rather expensive operation
2020-10-09 15:00:55 +03:00