Commit Graph

72746 Commits

Author SHA1 Message Date
Victor Petukhov baeee8988e [all-open] Don't affect private declarations to change their modality to open 2021-02-16 17:18:08 +03:00
Victor Petukhov ec41775d7e [all-open] Fix formatting 2021-02-16 17:18:07 +03:00
Mads Ager 05ff2b1292 [JVM_IR] Extend when to switch translation to deal with nested ors.
FIR translates:

```
when (x) {
  1, 2, 3 -> action
  else -> other_action
}
```

to an IR structure with nested ors:

```
if ((x == 1 || x == 2) || (x == 3)) action
else other_action
```

This change allows that to turn into switch instructions in the
JVM backend.
2021-02-16 03:20:07 -08:00
Ilya Kirillov 91581d6c1a Move KotlinBundle to frontend-independent module
to use from IDEA FIR
2021-02-16 12:16:17 +01:00
Mikhail Glukhikh a8c23e1c3a FirDefaultStarImportingScope: filter INVISIBLE_CLASSES properly 2021-02-16 12:38:46 +03:00
Mikhail Glukhikh 940588a9bb FE: commonize throw-related annotation FQ names 2021-02-16 12:38:46 +03:00
pyos 2dc0404751 FIR: prioritize visible imported classes during type resolution
and produce an error on ambiguity.
2021-02-16 12:38:45 +03:00
pyos 291ed4a38a FIR: handle typealiases during conflict resolution 2021-02-16 12:38:45 +03:00
Hung Nguyen 592c285198 Kapt: Don't create KDocCommentKeeper when not needed
Previously, even if `keepKdocComments=false`, we would still create the
KDocCommentKeeper object unnecessarily.

This commit makes sure we create the object only if
`keepKdocComments=true`.

Bug: Clean-up after commit e252171 for KT-43593
Test: Existing tests
2021-02-16 11:53:49 +03:00
Ilya Kirillov 0a72e16451 FIR: transform DiagnosticBuilder DSL to an object
To make diagnostics visible in symbol search in IJ
2021-02-15 22:28:13 +01:00
SokolovaMaria 15aaf3a078 Copy typeParameters from original declaration to the exportedDefaultStubFun before substitution of type parameters 2021-02-15 23:17:11 +03:00
Mark Punzalan 706d3e5aa8 FIR IDE: Add quickfix for VAR_ANNOTATION_PARAMETER. 2021-02-15 21:07:32 +01:00
Mark Punzalan 2f450549ab FIR IDE: Update FIR diagnostic test data for
INAPPLICABLE_LATEINIT_MODIFIER.
2021-02-15 19:37:14 +01:00
Mark Punzalan 4e44804c77 FIR IDE: Add quickfix for INAPPLICABLE_LATEINIT_MODIFIER.
Also changed FE1.0 checker and all related fix factories to report error
on the declaration instead of the lateinit modifier. This is consistent
with the direction of all checkers in FIR (no reporting on modifiers).
2021-02-15 19:37:14 +01:00
Dmitry Petrov b1ab64e854 JVM_IR KT-44483 argument adaptation is already done in PSI2IR 2021-02-15 19:41:39 +03:00
Alexander Udalov f1b0e893ae Remove kotlin-annotations-android
#KT-44815 Fixed
2021-02-15 17:23:44 +01:00
Alexander Udalov 899f75466d Remove tests on kotlin-annotations-android
#KT-44815
2021-02-15 17:23:44 +01:00
Alexander Udalov 3432f581cb Remove compiler support for kotlin-annotations-android
#KT-44815
2021-02-15 17:23:44 +01:00
Jinseong Jeon a884555171 FIR: bail out early for override check if base candidate is private 2021-02-15 19:16:36 +03:00
Jinseong Jeon 09640d9d63 FIR checker: apply override checker to anonymous objects
^KT-44695 Fixed
2021-02-15 19:16:35 +03:00
Jinseong Jeon 9370f918e9 FIR: use override checker when populating directOverriddenProperties 2021-02-15 19:16:35 +03:00
Victor Petukhov fa1507fb91 Fix FIR test lambdaParameterTypeInElvis 2021-02-15 18:51:51 +03:00
Simon Ogorodnik 83836037f8 Add documentation on type checker context / type system context 2021-02-15 18:29:00 +03:00
Simon Ogorodnik 3909e3c54c Decouple TypeCheckerContext and TypeSystemContext 2021-02-15 18:28:58 +03:00
Andrei Klunnyi 53a7dc1126 KT-44839 [Sealed interfaces]: restore move-tests for lang-version < 15
This commit restores tests removed in 690fb47c.
2021-02-15 15:28:00 +00:00
Andrei Klunnyi eb0c73fd5e KT-44839 [Sealed interfaces]: ability to specify compiler options in tests 2021-02-15 15:28:00 +00:00
Andrei Klunnyi c63a9afa56 KT-44839 [Sealed interfaces]: move refactoring for language level < 1.5
This commit restores sealed-check-logic for language level < 1.5
mistakenly removed in 690fb47c.

^KT-44839 fixed
2021-02-15 15:27:59 +00:00
Yahor Berdnikau 5c7aadece9 Fix test founds more lines then expected.
Now Gradle additionally prints warning message regarding using debug
logs that wrapped in '####*' lines.
2021-02-15 15:35:23 +01:00
Yahor Berdnikau 224aea0953 Ignore test due to the bug in AGP on Gradle 6.8+.
It is not possible to make it work via reflection.
2021-02-15 15:35:23 +01:00
Yahor Berdnikau 9d9df0c4ff Expect new attributes compatibility error.
Since Gradle 6.4 error message was changed, when dependency does not
provide all required attributes.
2021-02-15 15:35:22 +01:00
Yahor Berdnikau 6c0ee2f9ea Update test to use new test xml output format.
This format was slightly changed starting Gradle 6.6. Adapted
tests to use new expected output when current Gradle runner is greater
then 6.5.
2021-02-15 15:35:22 +01:00
Yahor Berdnikau 6d2465d00c Update Gradle version for tests to 6.8.1. 2021-02-15 15:35:18 +01:00
Dmitry Petrov b262d09a81 JVM_IR KT-44627 fix bridge signature for parameter with primitive bound 2021-02-15 17:19:33 +03:00
Mikhail Glukhikh fa0f967c83 FIR2IR: support adapted references for constructors 2021-02-15 17:08:13 +03:00
Mikhail Glukhikh 8bab208322 FIR2IR: use information about callable reference adaptation from resolve 2021-02-15 17:08:08 +03:00
Victor Petukhov dcad9c84fc Don't fix type variables into Nothing in priority way
^KT-44546 Fixed
2021-02-15 15:12:45 +03:00
Yahor Berdnikau 440fc8c4e4 Deprecated 'kotlin.useCompilerFallbackSearch' property.
This property was introduced in 2018 and no longer supported.
See https://discuss.kotlinlang.org/t/how-to-set-usefallbackcompilersearch/9039
for details why it was introduced.
2021-02-15 12:43:22 +01:00
Yahor Berdnikau 069941cdaf Provide compiler classpath as task input.
This ensures that compiler classpath is what is expected
by Kotlin Plugin and removes possibility of leaking wrong jars
from Gradle wrapper classpath.

For 'kotlin.useFallbackCompilerSearch' old behaviour is still present,
but this option should be marked as deprecated and removed in one
of the Kotlin releases.
2021-02-15 12:43:18 +01:00
Dmitriy Dolovov 0eaea655d0 [Commonization] Improvements in approx. keys
- Don't print upper bounds if it contains only kotlin/Any?
- Print variance in lowercase
2021-02-15 13:25:52 +03:00
Dmitriy Dolovov 3c6eb8f8f4 Minor. Formatted 2021-02-15 13:25:47 +03:00
Dmitriy Dolovov 0af31abb04 [Commonizer] Add tests for overloading purely by different upper bounds 2021-02-15 13:25:40 +03:00
Dmitriy Dolovov 90cdb9203f [Commonizer] Fix integration tests: wrong mismatches filter 2021-02-15 13:25:34 +03:00
Dmitriy Dolovov 8a17de38d0 [Commonizer] Fix integration tests: serialize only own module contents 2021-02-15 13:25:28 +03:00
Dmitriy Dolovov 7f8f1dc4f8 [Commonizer] Calculate hash code by pure name in approximation keys 2021-02-15 13:25:22 +03:00
Mikhael Bogdanov 6ff5704ef9 Delete obsolete test 2021-02-15 11:24:10 +01:00
Mikhael Bogdanov f493766563 Add IR tests to Android codegen test 2021-02-15 11:24:10 +01:00
Victor Petukhov c0759f96e9 Fix FIR test lambdaParameterTypeInElvis 2021-02-15 12:59:07 +03:00
Yaroslav Chernyshev 8acf3b1d76 [Cocoapods] Fail import if project's version wasn't specified
#Fixed KT-44000
2021-02-15 12:39:40 +03:00
Victor Petukhov c158c64ee0 Reformat TypeWithEnhancement.kt 2021-02-15 12:13:57 +03:00
Victor Petukhov 0d40022d6d Add reporting of the warnings based on Java annotations for expanded type aliases
Before that, such warnings weren't reported as the corresponding errors were reported during type inference (only original types took part there)
2021-02-15 12:13:55 +03:00