Dmitriy Novozhilov
0c0c53cc2e
[FE] Don't analyze members with CLASSIFIERS kind filter in AbstractLazyMemberScope
...
This commit introduces partial support of descriptorKindFilter in
`AbstractPsiBasedDeclarationProvider`. Without it there may be an error
in following case:
```
sealed class Base
class Derived : Base()
class Test<out V>(val x: Base) {
private val y = when (x) {
is Derived -> null
}
}
```
Here we start to resolve type of `y`, then go to computation of inheritors
of sealed class Base, which also may be inside Test, so we need get all
nested classifiers in Test. But without this filtration we will start
computing descriptor for `y` again, which leads to ReenteringLazyComputationException
#KT-44316 Fixed
2021-02-10 16:56:49 +03:00
Dmitriy Novozhilov
671ebc6819
[FIR] Fix detecting that if in then branch of outer if used as expression
2021-02-10 14:17:38 +03:00
Alexander Udalov
e6588ee8a4
CLI: include META-INF/services/ from kotlin-reflect with -include-runtime
...
This is an addition to bd205317aa where we
started to add the contents of kotlin-reflect into the resulting jar if
-include-runtime is specified. Apparently kotlin-reflect doesn't work
without some services in META-INF/services/, which didn't satisfy the
condition for inclusion. The existing test didn't catch that because
loading class annotations does not always lead to those services being
loaded.
2021-02-10 12:05:36 +01:00
Alexander Udalov
3dfd2a95fa
Minor, do not output "Not changed" for generated FIR checkers on each build
2021-02-10 12:04:40 +01:00
Dmitriy Novozhilov
1216b33593
[Test] Move extracting JVM_TARGET to provideConfigurationKeys
2021-02-10 13:02:07 +03:00
Dmitriy Novozhilov
606ae45f5f
[Test] Replace remaining KOTLIN_CONFIGURATION_FLAGS directives with specific ones
2021-02-10 13:02:06 +03:00
Dmitriy Novozhilov
3ee5665746
Parse compiler configuration for android tests using new test infrastructure
2021-02-10 13:02:05 +03:00
Dmitriy Novozhilov
a0007bf244
Add analysisFlags of LanguageVersionSettings to toString() method
2021-02-10 13:02:04 +03:00
Dmitriy Novozhilov
7e59e083d3
[Test] Make some functions of environment configurators public
...
This is needed for using those methods from android tests
2021-02-10 13:02:03 +03:00
Dmitriy Novozhilov
24d6853ead
[Test] Cleanup JvmEnvironmentConfigurator
2021-02-10 13:02:01 +03:00
Dmitriy Novozhilov
a932f69b8a
[Test] Don't pass MockProject to environment configurators
2021-02-10 13:02:00 +03:00
Jinseong Jeon
bd37badf29
FIR checker: add diagnostics for backing fields
2021-02-10 12:29:34 +03:00
Mikhail Glukhikh
a88b82d8ff
Rewrite nasty code with if without else in elvis RHS
2021-02-10 12:19:59 +03:00
Dmitry Petrov
d0f26abd18
JVM_IR KT-44798 don't generate multiple stubs with same signature
2021-02-10 09:09:28 +03:00
Mikhael Bogdanov
2673261b10
Use proper jvmArgs syntax, remove -FailOverToOldVerifier from last configurations
...
`FailOverToOldVerifier` support is removed from JDK 16
2021-02-09 18:51:26 +01:00
Ilya Kirillov
c54354f348
FIR: fix memory leak from ConeIntegerLiteralTypeImpl via static NUMBER_TYPE
...
ConeClassLikeType has a cachedExpanded type which has a strong ref to FirSession
2021-02-09 17:15:46 +01:00
Ilya Kirillov
5cefad1ab3
FIR: use GeneratorsFileUtil for checkers-component-generator
2021-02-09 17:15:38 +01:00
Ilya Kirillov
4cf863e054
FIR: simplify PositioningStrategy checkers generator
2021-02-09 17:15:38 +01:00
Ilya Kirillov
21ac83aba0
FIR: rename Diagnostic to DiagnosticData in checkers generators to avoid conflict with existing Diagnostic class
2021-02-09 17:15:37 +01:00
Ilya Kirillov
b2d51dc455
FIR: Update diagnostics list after rebase
2021-02-09 17:15:34 +01:00
Ilya Kirillov
e008ad03a2
FIR: add groups to diagnostics DSL
2021-02-09 17:15:11 +01:00
Ilya Kirillov
15ff79830f
FIR: remove existingN diagnostic creation functions
2021-02-09 17:14:24 +01:00
Ilya Kirillov
b92dce9be4
FIR: introduce DSL to generate diagnostics list
...
this is needed to generate diagnostic list for IDE
2021-02-09 17:14:22 +01:00
Ilya Kirillov
5ff816127a
FIR: extract ConeDiagnostic -> FirDiagnostic to fun to use in IDE code
2021-02-09 17:14:21 +01:00
Dmitriy Novozhilov
6dd331d7e8
[FIR] Add tests for non exhaustive when as last expression of lambda
...
KT-44810
2021-02-09 16:04:42 +03:00
Dmitriy Novozhilov
e54f31cc2f
[IR] Remove useless init block from IrLazyFunction
...
This block was accidentally added in aaa3fa58 in debug purposes
2021-02-09 16:04:42 +03:00
Dmitriy Novozhilov
8f0e1035fa
[FIR] Rename KEY and VALUE generics of FirCache to K and V
2021-02-09 16:04:42 +03:00
Dmitriy Novozhilov
d7e3e83251
[FIR] Update testdata of FIR spec tests
2021-02-09 16:04:41 +03:00
Dmitriy Novozhilov
18bde2c542
[FIR] Reimplement when exhaustiveness checker to fir it's logic with FE 1.0
2021-02-09 16:04:41 +03:00
Dmitriy Novozhilov
2a1c9283a4
[FIR] Add useful util extensions for cone type
2021-02-09 16:04:41 +03:00
Dmitriy Novozhilov
ad677046a8
[FIR] Replace isExhaustive flag with ExhaustivenessStatus object
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
96038e4b32
[FIR] Support java sealed class interop
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
abd1c8fb30
[FIR] Move sealedInheritors declaration data to :fir:tree module
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
8dd9d98129
[FIR] Implement checker for exhaustive when's in expression position
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
3f715e671d
[FIR] Fix checking for null exhaustiveness with expression of Nothing? type
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
76f9830b47
[FIR] Fix checking for boolean exhaustiveness with || in branch
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
6469900b5e
[FIR] Fix forgotten light source element for if expression
2021-02-09 16:04:39 +03:00
Dmitriy Novozhilov
11ab37160e
[FIR] Save info that when was used as expression
2021-02-09 16:04:39 +03:00
Dmitriy Novozhilov
490ef210ac
[FIR] Support sealed class inheritors in multiple files
2021-02-09 16:04:39 +03:00
Dmitriy Novozhilov
c8f9cc33ef
[FIR] Pass all FirFiles to FirGlobalResolveProcessor.process
2021-02-09 16:04:39 +03:00
Dmitriy Novozhilov
38437fb036
[FIR] Rename session.firSymbolProvider to session.symbolProvider
...
to avoid visual conflicts with `session.firProvider`
2021-02-09 16:04:39 +03:00
Andrei Klunnyi
e3c1aa599d
KT-44487 [Sealed Interfaces]: sealed-inheritors-provider for MPP
2021-02-09 12:54:51 +00:00
Igor Chevdar
6f9bcf249b
[IR] Supported inlining of adapted references + tests
2021-02-09 17:23:19 +05:00
Dmitriy Novozhilov
9724d81a49
[FIR] Support boolean elvis bound smartcasts
...
#KT-44511 Fixed
2021-02-09 15:20:36 +03:00
Dmitriy Novozhilov
2b088f1147
[FIR] Fix generating data class if there is non-property in primary constructor
...
#KT-44554 Fixed
2021-02-09 15:20:34 +03:00
Mikhael Bogdanov
30b5bfe767
Disable D8 checks for -jvm-target 15 tests
2021-02-09 12:34:56 +01:00
Mikhael Bogdanov
3dff225b98
Aligh test data with JDK 15 reflection output
2021-02-09 12:34:55 +01:00
Mikhael Bogdanov
21e9f67322
Add JvmTargetXOnJvm15 test suites
2021-02-09 12:34:55 +01:00
Mikhael Bogdanov
5c5fb0ae39
Add JvmTarget6OnJvm8 test suite
2021-02-09 12:34:55 +01:00
Ilmir Usmanov
8af9ce1e0b
Minor. Ignore test on WASM
2021-02-09 12:31:14 +01:00