Commit Graph

88188 Commits

Author SHA1 Message Date
Dmitry Petrov 0ccd7a7e0c KT-47939 fun interface constructor reference should throw NPE for null 2021-12-08 14:12:41 +03:00
Dmitry Petrov e5eee9bab9 KT-47939 KotlinFunInterfaceConstructorReference is experimental 2021-12-08 14:12:40 +03:00
Dmitry Petrov 72f7276f3c PSI2IR KT-47939 more tests 2021-12-08 14:12:40 +03:00
Dmitry Petrov 9eeb8f54fb JVM_IR KT-47939 fixes after review 2021-12-08 14:12:39 +03:00
Dmitry Petrov e179598457 JVM_IR KT-47939 equality for fun interface constructor references 2021-12-08 14:12:38 +03:00
Dmitry Petrov 50b0dae786 KT-47939 fixes after review 2021-12-08 14:12:37 +03:00
Dmitry Petrov 58f1504aaf KT-47939 basic fun interface constructor reference box test 2021-12-08 14:12:37 +03:00
Dmitry Petrov 11daed8b01 FIR2IR KT-47939 callable references to fun interface constructors 2021-12-08 14:12:36 +03:00
Dmitry Petrov f55f880726 Minor: regenerate tests, update testData 2021-12-08 14:12:35 +03:00
Dmitry Petrov 27a144f86f PSI2IR KT-47939 callable references to fun interface constructors 2021-12-08 14:12:34 +03:00
Dmitry Petrov 1fd0dec5e7 FE KT-47939 callable references to functional interface constructors
Allow callable references to Kotlin 'fun interface' constructors.
Prohibit callable references to Java SAM interface constructors.
2021-12-08 14:12:33 +03:00
Dmitry Petrov bfb6e73728 Minor: reformat Errors.java & ErrorsJvm.java 2021-12-08 14:12:32 +03:00
Ilya Goncharov 2a1396bafe [JS IR] Remove JsEagerInitialization after bootstrap update 2021-12-08 10:42:50 +00:00
Ilya Matveev 9e9faa6b14 [K/N][build] Don't use srcRoot in compdb tasks
The CompileToBitcode task has two options to specify sources:
srcDirs and srcRoot. Thus there may be a situation when sources
are specified using srcDirs only and srcRoot doesn't exists (e.g.
compilation of googletest and googlemock, see RuntimeTestingPlugin.kt).

In this case a generated compilation database will contain
a path to a directory which doesn't exist causing error messages
during CLion import. This patch fixes this by getting rid of using
srcRoot in combdb tasks.
2021-12-08 10:12:31 +00:00
Steven Schäfer 16a2aec296 Parcelize: Skip constructor checks when used with custom Parceler
See https://issuetracker.google.com/177850558
2021-12-08 11:07:10 +01:00
Steven Schäfer 58c687e42d Parcelize: Support @IgnoreOnParcel primary constructor parameters...
...with default values.

See https://issuetracker.google.com/177850560
2021-12-08 11:07:10 +01:00
Ilya Goncharov 00289d3514 rra/ilgonmic/exported-bridges-2
[JS IR] Use js name for signature

[JS] bridgeSavingExport only for JS IR

[JS IR] Fix test

[JS IR] Stable and non stable signatures

[JS IR] Consider return type in js signature and erase for JS name signature

[JS IR] Copy signature from wasm to JS and export bridge, not original

Merge-request: KT-MR-5174
2021-12-08 08:30:14 +00:00
Ilya Goncharov 0c74376cc4 rra/ilgonmic/after-test-promise
[JS] Node downloading for js ir integration kotlin test

[JS] Fix API of Promise

[JS IR] Promise symbol as lazy2

[JS] Support legacy compiler aftertest with promises

[JS IR] Generate finally for promised tests

[JS] Setup it tests for JS IR kotlin-test

Merge-request: KT-MR-5168

^KT-49738 fixed
2021-12-08 08:22:53 +00:00
Mikhael Bogdanov bdeae7668e JvmDefault. Support 'JvmDefaultWithCompatibility' annotation in old backend
#KT-48217
2021-12-08 06:27:57 +00:00
Alexander Udalov 1471602c9f JVM IR: do not optimize properties with -Xno-optimized-callable-references
#KT-50019 Fixed
2021-12-08 03:15:49 +01:00
Ilmir Usmanov f47a3a3d1c Minor. Regenerate tests 2021-12-08 00:11:55 +01:00
Ilmir Usmanov f95cba0ec3 Support delegation by interface for inline classes in FIR
#KT-27435 Fixed
2021-12-08 00:11:55 +01:00
Ilmir Usmanov bb53ba4a2e Enable delegation by interface for inline classes in old FE
#KT-27435
2021-12-08 00:11:54 +01:00
sebastian.sellmair 3002829acf [Gradle][KPM] Rename KotlinFragmentNameDisambiguation into KotlinNameDisambiguation 2021-12-07 21:38:59 +00:00
sebastian.sellmair 2a43199287 [Gradle][KPM] Split fragment specific configurations from KotlinDependencyConfigurations 2021-12-07 21:38:59 +00:00
sebastian.sellmair d7df56a390 [Gradle][KPM] Minor: Cleanup imports, remove unused code and add documentation 2021-12-07 21:38:59 +00:00
sebastian.sellmair 444b88e438 [Gradle][KPM] Reference Configurations directly
Configurations are not registered/created lazily which makes
referencing NamedDomainObjectProvider over Configurations unnecessary
for now.
2021-12-07 21:38:58 +00:00
sebastian.sellmair 032981dd83 [Gradle][KPM] Implement KotlinCompilationOutputsJarArtifactConfigurator 2021-12-07 21:38:58 +00:00
sebastian.sellmair e8da9c007c [Gradle][KPM] Make 'locateOrRegister' internal 2021-12-07 21:38:58 +00:00
sebastian.sellmair 6b9c73de5d [Gradle][KPM] Implement KotlinCommonFragmentFactoryTest 2021-12-07 21:38:57 +00:00
sebastian.sellmair 8260616fe4 [Gradle][KPM] Implement KotlinGradleModuleFragmentContainerTest 2021-12-07 21:38:57 +00:00
sebastian.sellmair 60633335ef [Gradle][KPM] Implement *VariantFactoryTests 2021-12-07 21:38:56 +00:00
sebastian.sellmair 1fb723f844 [Gradle][KPM] Split fragment factories into composable entities
This compasability will ensure that external target authors
(AGP) are able to reuse most of KPM code whilst allowing a lot of
customizability.
2021-12-07 21:38:56 +00:00
Mikhail Glukhikh 386e2e0950 FIR2IR: don't create separate delegate fields for constructor properties 2021-12-07 23:17:38 +03:00
Mikhail Glukhikh f8b3eb0801 FIR: introduce helpers to get resolved reference / symbol 2021-12-07 23:17:34 +03:00
Mikhail Glukhikh 852475337b FIR: use only most specific members when building intersection
In this commit we drop less concrete members in intersection.
See for example change in test data: before the commit, we intersected
all three A.foo, B.foo and C.foo in diamond hierarchy. After the commit
we drop A.foo and intersect B.foo and C.foo only.
2021-12-07 23:17:20 +03:00
Mikhail Glukhikh a4f7bee9ad FirTypeIntersectionScope: minor mutability refactoring 2021-12-07 23:17:15 +03:00
Yahor Berdnikau 59ec10eb9c Pin AGP 'debug.keystore' in the repo.
This change adds shared 'debug.keystore' into the repository and
sets all the tests to use it.

Fixes issue when keystore was created by AGP 7+, but then consumed in
the test using lower versions of AGP.

^KT-45745 In Progress
2021-12-07 19:48:34 +00:00
Yahor Berdnikau 782b4f64be Apply default pluginManagement in settings for old test setup.
Cleanup non-required configuration in test projects settings.

^KT-45745 In Progress
2021-12-07 19:48:34 +00:00
Yahor Berdnikau 40489e9b8d Support modifying 'setting.gradle.kts' as well.
Test dsl will update 'settings.gradle.kts' with required plugin
management block.

^KT-45745 In Progress
2021-12-07 19:48:33 +00:00
Igor Yakovlev ea060dcf8a [WASM] Implement lazy with UnsafeLazyImpl 2021-12-07 21:33:34 +03:00
Igor Yakovlev d55e16a030 [WASM] Regex std implementation 2021-12-07 21:33:31 +03:00
Igor Yakovlev 4f9b54da26 [WASM] Remove ignore from wasm std text tests 2021-12-07 21:33:28 +03:00
Igor Yakovlev 86daff8ae8 [WASM] Fix invalid exception type for IOOB array access 2021-12-07 21:33:24 +03:00
Igor Yakovlev 2e78a1cd90 [WASM] Fix invalid string literal encoding 2021-12-07 21:33:21 +03:00
Igor Yakovlev 34c6abe0bd [WASM] Add Long.toString(radix) implementation 2021-12-07 21:33:14 +03:00
Igor Yakovlev 73ca478fbd [WASM] Add string to double conversion to Stdlib
This version is not completely correct - there is some IEEE rouding issue that, apparently, require to implement different algorithm with BigIntegers implementation.
2021-12-07 21:33:07 +03:00
Igor Yakovlev 9408499da9 [WASM] Add std text implementations 2021-12-07 21:32:59 +03:00
sebastian.sellmair 1b4f519701 [Gradle][KPM] Add missing OptIn(InternalIdeApi::class) 2021-12-07 17:53:23 +00:00
sebastian.sellmair 493824aee7 Minor: kotlin-gradle-plugin/build.gradle.kts: Optimise imports 2021-12-07 17:53:23 +00:00