Commit Graph

72579 Commits

Author SHA1 Message Date
Mikhail Glukhikh 5f3102bf2f FIR2IR: expand type before getting nullability #KT-44803 Fixed 2021-02-11 11:48:35 +03:00
Mikhail Glukhikh 791f589127 SymbolTable: Rewrite nasty code with if without else in elvis RHS 2021-02-11 11:48:34 +03:00
Mikhail Glukhikh 4bc630d82c FIR2IR: enhance approximation of captured types 2021-02-11 11:48:34 +03:00
Mikhail Glukhikh 346ffb3acf FIR2IR: support substitution for SAM types 2021-02-11 11:48:34 +03:00
Mikhail Glukhikh 7050af9b79 FIR2IR: use invariant projections for SAM_CONVERSION types 2021-02-11 11:48:34 +03:00
Roman Artemev 67671afab4 [Plugin API] Fix missed call in resolveBySignatureInModule 2021-02-11 11:44:09 +03:00
Nikolay Krasko 2c4a6fdb98 Revert "Use IDEA ASM in kapt module"
This reverts commit 903defdf
2021-02-11 01:07:38 +03:00
Alexander Udalov 73aa465ee9 Add tests for issues fixed in JVM IR
Note that KT-30696 is fixed only in the single-module case, and KT-42012
is not fixed fully (see KT-44855).

 #KT-30041
 #KT-30629
 #KT-30696
 #KT-30933
 #KT-32351
 #KT-32749
 #KT-38849
 #KT-42012
 #KT-42990
 #KT-44234
 #KT-44529
 #KT-44631
 #KT-44647
2021-02-10 21:42:10 +01:00
Yaroslav Chernyshev 17fc10a8af Mark obsolete Gradle JVM options as Deprecated with Error
Options `includeRuntime`, `noStdlib` and `noReflect` were affected
#Fixed KT-44361
2021-02-10 21:21:03 +03:00
Andrey Zinovyev 6eaf0a95ca [KAPT] Fix expected resolve errors in tests (#4105) 2021-02-10 19:40:28 +03:00
Ilya Gorbunov af8061a4dd Remove kotlin-test-multiplatform special dependency handling
#KT-40225
2021-02-10 18:46:23 +03:00
Dmitriy Novozhilov 2cd1aefd5e [FIR-IDE] Add mapping for FirExpression in diagnostics and generate new IDE ones 2021-02-10 17:38:45 +03:00
Jinseong Jeon 9b1f01ab04 FIR checker: differentiate unsafe infix/operator calls from UNSAFE_CALL 2021-02-10 17:38:45 +03:00
Jinseong Jeon 1729eff31b FIR checker: reincarnate FIR source child lookup utils
This is a partial revert of commit 94ddb71213
2021-02-10 17:38:44 +03:00
Jinseong Jeon 5e150d62ea FIR checker: differentiate UNSAFE_IMPLICIT_INVOKE_CALL from UNSAFE_CALL 2021-02-10 17:38:44 +03:00
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
Mikhael Bogdanov 903defdf30 Use IDEA ASM in kapt module 2021-02-10 12:23:47 +01:00
Dmitriy Dolovov 154a768a3a [Commonizer] Minor. Remove unused import 2021-02-10 14:18:14 +03:00
Dmitriy Dolovov ac966ad1d2 [Commonizer] Add getParentEntityId() method to CirEntityId 2021-02-10 14:18:14 +03:00
Dmitriy Dolovov 4bab505c3a [Commonizer] Introduce CIR entities for representing various flavors of names
- CirName - simple name
- CirPackageName - fully-qualified name of the package
- CirEntityName - fully-qualified name of some entity, ex: Class, TypeAlias
2021-02-10 14:18:14 +03:00
Dmitriy Dolovov f8c5244a39 [Commonizer] Use CirConstantValue class to represent constant values 2021-02-10 14:18:13 +03:00
Dmitriy Dolovov 25df25ccc6 [Commonizer] Minor. Extract common module names from CommonizerParameters 2021-02-10 14:18:13 +03:00
Dmitriy Dolovov 97000b1285 [Commonizer] Drop CirContainingClassdetails in favor of CirClass entity 2021-02-10 14:18:13 +03:00
Dmitriy Dolovov 054b59198b [Commonizer] Don't keep fqName inside of CirPackageNode 2021-02-10 14:18:13 +03:00
Dmitriy Dolovov 5d19ac16d5 [Commonizer] Drop useless CirPackageNode.moduleName property 2021-02-10 14:18:12 +03:00
Dmitriy Dolovov c6756762e5 [Commonizer] Refactoring: Clean-up in CirTreeMerger 2021-02-10 14:18:12 +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
Yahor Berdnikau 7a9315e6b6 Fix KaptWithoutKotlincTask task tries to get wrong properties. 2021-02-10 10:15:58 +01:00
Andrey Zinovyev 48ec227aaf [KAPT] Suppress resolve error in annotation procssing
#KT-33223
2021-02-10 10:59:46 +03:00
Ilya Chernikov d64f7dd8c7 Revert "Add :kotlin-scripting-compiler.test to modules with disabled -Werror flag"
This reverts commit 21f022de
2021-02-10 08:33:15 +01:00
Ilya Chernikov 79b4b18e25 [minor] fix warnings in the script compiler and tests 2021-02-10 08:32:11 +01:00
Dmitry Petrov d0f26abd18 JVM_IR KT-44798 don't generate multiple stubs with same signature 2021-02-10 09:09:28 +03:00
Vladimir Dolzhenko 9afe8a0a39 Make checker tests independent of plugin version
Relates to #KT-37702 #KTI-433
2021-02-09 22:52:17 +01:00
Ilya Chernikov 09ea4116e4 Implement forced script configuration reloading API for plugins
#KT-43288 fixed
2021-02-09 20:33:18 +00: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 ede5fef39c FIR IDE: fix memory leak in symbols by firBuilder 2021-02-09 17:15:45 +01:00
Ilya Kirillov cf3defbc9c FIR IDE: add more KDoc to HLApplicator stuff 2021-02-09 17:15:44 +01:00
Ilya Kirillov 2554065ae9 FIR IDE: forbid resolve in HLApplicator/HLApplicabilityRange/HLPresentation 2021-02-09 17:15:43 +01:00