Commit Graph

80425 Commits

Author SHA1 Message Date
Alexander Udalov c56f719dcc Fix/suppress some warnings
(cherry picked from commit d8a43c216925b3a9e1475b786978436835a57927)
2021-03-15 15:54:50 +03:00
Igor Chevdar c5249ac714 Disposed target data
(cherry picked from commit 250be87acf66d5c780fb593f46da3540a536e049)
2021-03-15 15:54:49 +03:00
Vladimir Ivanov ba50a8275c Add test for [KT-3706]
Issue is already fixed by metadata-based cinterop

(cherry picked from commit fd4f5b2c07ebdc431d6243ac087f911ee30e88ca)
2021-03-15 15:54:48 +03:00
Vladimir Ivanov 64129314fb Fix sample file naming for case-sensitive FS
(cherry picked from commit 72235c31852fba4f2ab330d8178197c2584b1cda)
2021-03-15 15:54:46 +03:00
Jinseong Jeon 8dce6f2ac9 FIR CFG: don't propagate deadness on the uncaught exception path 2021-03-15 15:54:22 +03:00
Jinseong Jeon d27ecca0e9 FIR CFA: keep UncaughtExceptionPath separated 2021-03-15 15:54:21 +03:00
Mikhail Glukhikh 06a80c0b34 FIR tree generator: merge fields from parents properly 2021-03-15 15:33:38 +03:00
Mikhail Glukhikh 7f7a964b2e FIR: annotate 'replaceSource' with '@FirImplementationDetail' 2021-03-15 15:33:38 +03:00
Mikhail Glukhikh c641fa739b FIR: provide 'replaceSource' only for FirQualifiedAccess inheritors 2021-03-15 15:33:38 +03:00
Dmitriy Novozhilov 4d65b0ef5a [FIR2IR] Unmute passing black box test 2021-03-15 15:12:11 +03:00
Alexander Shabalin f51c85a63f Add test support for types and objects creation
* test_support::TypeInfoHolder to create TypeInfo given payload description
* test_support::Object<Payload> to create objects with Payload and to get them from ObjHeader* after checking that their type_info are layout compatible.
* test_support::*Array<Count> to create various arrays with given length and similarly get them from ArrayHeader*.
2021-03-15 11:25:04 +00:00
Yaroslav Chernyshev aff49c76a9 loadClassOrNull: catch 'ClassNotFoundException' and 'LinkageError' over 'Exception' 2021-03-15 13:35:37 +03:00
Yaroslav Chernyshev 116b11d8be Continue 'populateModuleDependenciesBySourceSetVisibilityGraph' on missing GradleSourceSetData' 2021-03-15 13:35:36 +03:00
Yaroslav Chernyshev d053ee33a8 Precise platform importing changes ported from new repository 2021-03-15 13:35:35 +03:00
Yaroslav Chernyshev 960a7dca45 Re-structure KotlinMPPGradleProjectResolver.populateModuleDependencies 2021-03-15 13:35:34 +03:00
Yaroslav Chernyshev 18a06dc37e HMPP import: add dependencies present on all compilation a jvm&android shared source set participates 2021-03-15 13:35:33 +03:00
Dmitry Savvinov 96a4d19365 Minor: inline addDependsOnSourceSets in buildCompilation 2021-03-15 13:35:33 +03:00
Dmitry Savvinov 4927777ffb Minor: rename KotlinCompilation.sourceSets -> allSourceSets 2021-03-15 13:35:32 +03:00
Dmitry Savvinov 1143865e88 Minor: add test on importing platform of commonMain in single-backend project 2021-03-15 13:35:32 +03:00
Dmitry Savvinov c3f5d57d3b Implement precise platforms importing in MPP
- skip metadata target from importing. That lead to metadata
compilations being imported is well -> some source-sets were
participating in metadata compilations as well -> logic for determining
platforms used to consider metadata compilations as well, adding COMMON
platform to set of platforms

Seems like metadata was never needed in import/IDE, and got there purely
by accident

- Use only targets, actually present in the project, as the default
platform. This is needed mostly for corner-cases/miconfigurations, like
orphan source-sets (source-sets which are created but not included into
any configuraion). Still, for those source-sets the tooling is required
to behave properly; presence of non-existing target can lead to various
issues like showing gutters for test runs, which would fail on launch
(because tests for that target actually do not exist)

^KT-37127 Fixed
2021-03-15 13:35:31 +03:00
Dmitry Savvinov 7a5b4ccb9a Refactoring: collect all logic regarding detecting sourceSet platform in one function
Note that previously addSourceSetsToCompilation had logic regarding
platforms. The reason for that is that it was the last place where
default soruce sets of compilations could be distinguished from all
participated source sets.

So, to move that logic, we have to preserve default source sets.
Therefore, this commit introduces 'KotlinCompilation.defaultSourceSets',
and 'ImportingContext.isDefaultSourceSet' method.

The rest is trivial code moving/methods introduction

The resulting code isn't really pretty and likely has non-orthogonal
predicates, this will be cleaned-up in the next commits
2021-03-15 13:35:31 +03:00
Dmitry Savvinov ef04ae041e Minor: swap receiver and parameter for shouldCoerceToCommon
Otherwise, it reads as if KotlinSourceSet coerces ImportingContext,
which is in fact the other way around
2021-03-15 13:35:30 +03:00
Dmitry Savvinov 7ddcdca6bb Dont coerce platforms of source-sets in HMPP to set of available targets in project 2021-03-15 13:35:30 +03:00
Andrey Uskov 9c000000cf Update Gradle verion in tests from 6.1 to 6.1.1
Gradle 6.1 is not suitable for testing because of memory leak on
artefact validation (https://github.com/gradle/gradle/issues/11966)
2021-03-15 12:28:08 +03:00
Dmitriy Novozhilov 054c278c83 [FIR] Fix determining nullability of type variables and type parameters 2021-03-15 12:13:10 +03:00
Dmitriy Novozhilov e00ff5c473 [FIR] Make FirClassifierSymbol sealed 2021-03-15 12:13:09 +03:00
Dmitriy Novozhilov 631b771251 [FIR] Report proper resolution diagnostics from arguments checks 2021-03-15 12:13:08 +03:00
Dmitriy Novozhilov 6cc3fff48d [FIR] Properly handle that type variable is contained in inv or contravar positions
#KT-45344 Fixed
2021-03-15 12:13:07 +03:00
Dmitriy Novozhilov 3d1f4b8386 [FIR] Don't add @EnhancedVisibility to types with @Nullable annotation 2021-03-15 12:13:06 +03:00
Dmitriy Novozhilov a7c08345b4 Extract Generate Compiler Tests run configuration back to top level 2021-03-15 12:13:04 +03:00
Dmitriy Novozhilov 329d9a58bc Generate IDE run configurations for modularized and full pipeline test
To generate configuration you need to specify path to root directory
  with modularized testdata for kotlin project in `local.properties`:

```
kotlin.fir.modularized.testdata=/path/to/testdata/modularized-kotlin
```
2021-03-15 12:13:02 +03:00
Dmitriy Novozhilov f5d00716d1 Advance kotlin-build-gradle-plugin version to 0.0.26 2021-03-15 12:13:01 +03:00
Dmitriy Novozhilov ab62680a03 Add new configuration flag to kotlin-build-gradle-plugin
This flag is needed for auto-generation of run configurations
  for modularized tests which are used by FIR team
2021-03-15 12:12:59 +03:00
Andrey fe6ddcc1fa [KAPT] Skip kapt tasks if no annotations processors are provided (#4190)
So we don't do any preparation, don't spin up compiler.  And user will see SKIPPED in task execution
2021-03-15 11:37:06 +03:00
Svyatoslav Scherbina 77161af92a Delete obsolete kotlin-native/GRADLE_PLUGIN.md 2021-03-15 08:30:23 +00:00
Dmitriy Dolovov 6791ae81db [Commonizer] Minor. Clean-up in AbstractCommonizerTest 2021-03-15 11:25:48 +03:00
Dmitriy Dolovov aa196ae813 [Commonizer] Minor. Clean-up in ValueParameterCommonizerTest 2021-03-15 11:25:43 +03:00
Dmitriy Dolovov 0bd5fdb611 [Commonizer] Minor. Formatted 2021-03-15 11:25:37 +03:00
Dmitriy Dolovov ed98d878df [Commonizer] Minor. Reorganize CirClass.supertypes 2021-03-15 11:25:32 +03:00
Mikhael Bogdanov cdb2dd6661 Advance bootstrap to 1.5.20-dev-2613 2021-03-15 07:10:03 +01:00
Ilmir Usmanov 64abb2501f Minor. Add FIR_IDENTICAL directive 2021-03-15 06:19:22 +01:00
Ilmir Usmanov c9f41a2440 Minor. Ignore tests on WASM 2021-03-15 06:14:44 +01:00
Ilmir Usmanov 149064803d JVM_IR: Do not unbox Result argument inside java SAM adapters
#KT-45259
2021-03-15 06:14:42 +01:00
Ilmir Usmanov 4099dfc7e0 JVM_IR: Do not unbox Result argument inside SAM adapters
#KT-45259 Fixed
2021-03-15 06:14:40 +01:00
Mikhael Bogdanov 6fab1305e9 Fix compilation after @JvmDefault deprecation
Suppress could be removed after switch to -Xjvm-default=all
2021-03-13 08:24:18 +00:00
Mikhail Bogdanov 95654bb9bc Deprecate @JvmDefault
#KT-40392 Fixed

(cherry picked from commit c11f38688e)
2021-03-13 08:24:17 +00:00
Abduqodiri Qurbonzoda 77c263fcc4 Mark kt45410.kt with TARGET_BACKEND: JVM 2021-03-13 02:30:24 +03:00
Alexander Shabalin 391458c355 Fix CompileToBitcode's llvm-link invocation
Porting https://github.com/jetbrains/kotlin-native/pull/4536 which got
lost in https://jetbrains.team/p/kt/code/kotlin/revision/c85c3ac1235bea8a469694f887febc6ee4979181
2021-03-12 16:53:47 +00:00
Ilmir Usmanov d3b42709fd Revert "Value Classes: Forbid var properties with value class receivers"
This reverts commit f43899086a.
2021-03-12 17:51:24 +01:00
Ilmir Usmanov 6429ac17d8 Revert "Raise RESERVED_VAR_PROPERTY_OF_VALUE_CLASS to error"
This reverts commit bad197e075.
2021-03-12 17:51:21 +01:00