Commit Graph

79834 Commits

Author SHA1 Message Date
Ilya Matveev f606c59d5b [Runtime testing] Add basic runtime tests infrastructure 2020-10-13 15:16:25 +07:00
Pavel Kirpichenkov 9dd3d8fb14 [NI] Fix extension function check after commonization
`isExtensionFunction` property is false for suspend functions
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov c53011dd04 [FIR] mute builder inference test
^KT-42591 Open
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov 39a87435ee [FIR/NI] Refactor type variable gathering from lambda types
Motivation:
- drop getArguments from type context as a duplicate of getArgumentList
- reduce the number of collection allocations in getAllDeeplyRelatedTypeVariables

Additional minor improvements, test data fixes
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov ef44077cb7 [FIR] Restore variable fixation direction in call completion
Several tests are affected by the usage of fixation direction calculator in FIR.
Restored to mimimize test data changes.

It is unnecessary in FE10 because a type variable with unknown type
is inferred into an error type, but affects test data in FIR where
Nothing/Any is selected by direction (as a temporary measure).

CR candidate in spec test is Unresolved in FIR because top-level CRs are resolved as call arguments.
Resolution ambiguity is also present in FE10 when CR is wrapped into an id call.
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov 712a2ce1ab [FIR] Improved lambda completion: initial implementation
Repeat the logic of KotlinConstraintSystemCompleter in ConstraintSystemCompleter.
Implement additional context operations required for updated lambda completion algorithm.
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov 5eae6f2f4e [FIR] Move PostponedArgumentInputTypesResolver to resolution.common 2020-10-13 11:00:20 +03:00
Pavel Kirpichenkov 3822a32fce [FIR] Prepare commonization of PostponedArgumentInputTypesResolver 2020-10-13 11:00:20 +03:00
Victor Petukhov 0685beb765 NI: do substitution type variables during updating trace for lambda (these type variables can appear after the builder inference)
^KT-42450 Fixed
2020-10-13 10:21:55 +03:00
Dmitriy Dolovov 378dc1954b Minor. Drop obsolete isSecondaryConstructorFlag metadata flag 2020-10-13 10:04:27 +03:00
Svyatoslav Scherbina 1b37e869dd Add one more test for mangling top-levels in ObjCExport 2020-10-13 09:55:18 +03:00
Svyatoslav Scherbina 4c04702636 Fix ObjCExport mangling top-levels in different files in two-stage mode 2020-10-13 09:55:18 +03:00
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