Commit Graph

81398 Commits

Author SHA1 Message Date
Roman Golyshev 0d7eb971ca Fix test data 2021-04-13 11:40:24 +00:00
Roman Golyshev e0fca9d2f6 FIR IDE: Add visibility checks to the completion
Visibility checks currently do not work in some cases, for example:

- public nested class of private class is seen globally
- private_for_this does not work
- some other cases I am not yet aware of

If `FirVisibilityChecker.isVisible` fix those issues, they will be fixed
automatically in the completion
2021-04-13 11:40:23 +00:00
Roman Golyshev 78b2324a51 Refactor KotlinFirCompletionContributor
Replace extensions checking lambdas with `ExtensionApplicabilityChecker`
type
2021-04-13 11:40:22 +00:00
Roman Golyshev 86348ed981 Refactor KotlinFirCompletionContributor
Remove some code duplication
2021-04-13 11:40:22 +00:00
Roman Golyshev ff71dda065 FIR IDE: Add KtVisibilityChecker component 2021-04-13 11:40:21 +00:00
Roman Golyshev 28d8d2d903 FIR IDE: Search for the first non-local declaration in EnclosingDeclarationContext::detect
Local declarations do not have a stable `ClassId`, which is used in
`declarationUtils.collectDesignation`. Local classes will always have
`outerClassId.isLocal = true`, even when it is not true (see
`org.jetbrains.kotlin.fir.builder.Context.currentClassId` for why this
happens)
2021-04-13 11:40:20 +00:00
Roman Golyshev 0d2158325a Remove redundant ticks from test data 2021-04-13 11:40:19 +00:00
Roman Golyshev fcd0168381 Refactor AbstractHighLevelMultiFileJvmBasicCompletionTest
Use `KotlinFixtureCompletionBaseTestCase` base because it can override
`getProjectDescriptor`, so the tests will see full JDK

Without it, there were problems when classes from JDK appeared in the
completion (`Serialization`, for example)
2021-04-13 11:40:18 +00:00
pyos cc7187e49b JVM_IR: cast argument of enumValueOf to String in bytecode
Generic functions and implicit casts may return a supertype instead.

 #KT-45865 Fixed
2021-04-13 13:24:24 +02:00
Anton Bannykh afaf3b5e28 JS PIR: replace deprecated toLowerCase with lowercase 2021-04-13 14:20:00 +03:00
Andrei Klunnyi 73d2e1a42d KT-46049 Java-Kotlin sealed inheritors inspection: refactoring 2021-04-13 12:34:07 +02:00
Andrei Klunnyi 2fce968de0 KT-46049 Java-Kotlin sealed inheritors inspection: false positive for type parameter
^KT-46049 Fixed
2021-04-13 12:34:07 +02:00
pyos 85b4668b7c JVM_IR: optimize more if-null chains
1. consider reads of fields from the same file "stable" just like
    functions, i.e. assume their nullability information is correct
 2. apply if-null fusion repeatedly until the subject is no longer a
    nested if-null expression
2021-04-13 11:48:36 +03:00
Denis.Zharkov 0b0a6d6ede Fix false positive ENCLOSING_SUSPEND_FUNCTION_FOR_SUSPEND_FUNCTION_CALL
Previously added additional processing at findEnclosingSuspendFunction
seems unnecessary anymore

^KT-43258 Fixed
2021-04-13 11:47:05 +03:00
Dmitriy Novozhilov 803d47daaa Distinguish classes from different sourcesets in SealedInheritorInSameModuleChecker
#KT-45848 Fixed
#KT-46031
2021-04-13 11:21:58 +03:00
Dmitriy Novozhilov 66e4d5664a [Test] Properly setup KtFile.isCommonSource in tests 2021-04-13 11:21:57 +03:00
Jinseong Jeon 619360fe4d FIR checker: report UNINITIALIZED_ENUM_(ENTRY|COMPANION) 2021-04-13 08:25:16 +03:00
Ivan Kochurkin ad9b962536 [FIR] Fix tests (ARGUMENT_TYPE_MISMATCH instead of INCOMPATIBLE_CANDIDATE) 2021-04-12 23:49:55 +03:00
Ivan Kochurkin 4ffab5fe5a [FIR] Add new test argParamTypeMismatch.kt for ARGUMENT_TYPE_MISMATCH diagnostics 2021-04-12 23:49:54 +03:00
Ivan Kochurkin a09b836334 [FIR] Add new ARGUMENT_TYPE_MISMATCH diagnostics and related classes, throw it in corresponding cases 2021-04-12 23:49:52 +03:00
Dmitry Petrov 7e03f8ea80 JVM_IR KT-45853 include return type into Java method IdSignature
This is a hack required to accept [potentially] incorrect input
provided by the front-end; see KT-46042.
2021-04-12 22:52:08 +03:00
Matthew Gharrity 5ce746f1ec ULC field has null nameIdentifier
KtUltraLightFieldForSourceDeclaration implements PsiField, for which
getNameIdentifier() is marked @NonNull, so some clients expect a
non-null return value.

#KT-45629 Fixed
2021-04-12 21:41:54 +03:00
Nikolay Krasko 6cbdcbe53b Trust zip with gradle sources 2021-04-12 20:10:42 +03:00
Jinseong Jeon 9af108df77 FIR LT: set source for destructured value parameter of lambda 2021-04-12 19:20:03 +03:00
Yahor Berdnikau c6aa5d1495 Fix plugin is using deprecated method that is removed in AGP 7.0.
^KT-45950 Fixed
2021-04-12 18:20:42 +03:00
Yahor Berdnikau 9100be4566 Set Android Gradle Plugin dependency version to 3.4.0.
This is required to get method deprecations and new proposed methods.
2021-04-12 18:20:41 +03:00
Dmitry Petrov f59b49db68 JVM_IR KT-45967 generate accessor for argument of indy intrinsic
TODO handle inaccessible constructors gracefully
2021-04-12 17:36:24 +03:00
Sergey Shanshin 5f9fe8e5de Fix IR compilation of kotlix.serialization runtime in native 2021-04-12 17:08:08 +03:00
Abduqodiri Qurbonzoda 39731fd493 Merge Stdlib generators 2021-04-12 16:51:24 +03:00
Alexander Udalov e9a969875c Minor, fix typo in the issue reference in comment 2021-04-12 15:43:35 +02:00
Dmitry Petrov 162363a324 JVM: CHECK_BYTECODE_TEST directive + use it in INVOKEDYNAMIC tests 2021-04-12 16:43:15 +03:00
Ilya Chernikov ca352c9556 Fix jvm method reading when descriptor and signature do not match
#KT-38325 fixed
2021-04-12 16:23:53 +03:00
Mikhail Glukhikh c75331bf2a Implicit nothing type argument: handle nullable case properly
#KT-41620 Fixed
2021-04-12 15:51:46 +03:00
Alexander Udalov 115e2673ae Minor, fix javac deprecation warning in DynamicBundle 2021-04-12 14:38:09 +02:00
Yahor Berdnikau 2d9a3f364c Update advance Gradle version to 7.0 for KGP tests.
^KT-44949 Fixed
2021-04-12 15:02:02 +03:00
Victor Petukhov 73a2838555 Do substitution captured type's super types as well
^KT-45982 Fixed
2021-04-12 14:00:40 +03:00
Victor Petukhov e8275d2527 Complete old inference's callable references properly, by updating descriptor, resolved call and recorded expression's type
^KT-45721 Fixed
^KT-44994 Fixed
2021-04-12 14:00:38 +03:00
Victor Petukhov d804e73c22 Avoid subtype checking between type variable of self type and captured star projection only for invariant positions
Subtyping with non-invariant positions may produce useful constraints

^KT-46001 Fixed
2021-04-12 13:44:09 +03:00
Ilya Chernikov 0274c41919 [minor] FIR: fix deprecation in test 2021-04-12 10:08:54 +02:00
Alexander Likhachev 9e78e43c49 [Gradle] Always declare system property reads for compile tasks
When Kotlin plugin is applied in buildSrc or included build that defines Gradle plugins it can cause Gradle to report undeclared system property reads at configuration time. Declaring all system properties reads through Gradle providers to cover all these cases.
#KT-45910 Fixed
2021-04-12 03:15:10 +03:00
Andrey Zinovyev 47407c4445 [FIR] Add NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check 2021-04-11 16:18:07 +00:00
Alexander Udalov ea22f4b681 IR: check absence of extension receiver in isMethodOfAny
Otherwise extension methods named toString/equals/hashCode were
generated incorrectly on JVM IR, which could result in
AbstractMethodError at runtime.

 #KT-45963 Fixed
2021-04-11 13:54:13 +02:00
Abduqodiri Qurbonzoda 98d31a1813 Expand KDoc of inc() and dec() operators #KT-43701 2021-04-10 03:23:04 +03:00
sebastian.sellmair b311820159 [Minor] Fix CommonizerDependencyTest.sample identityString on Windows 2021-04-09 23:36:02 +02:00
Dmitriy Dolovov 14838a6b7b Update Kotlin/Native: 1.5.20-dev-4865 2021-04-09 23:36:02 +02:00
sebastian.sellmair 6d31750673 [Commonizer] assembelCirTree: Supoprt TypeAlias -> Class commonization 2021-04-09 23:36:02 +02:00
sebastian.sellmair 28adf6345d [Minor] Optimize imports of CirProperty.kt 2021-04-09 23:36:02 +02:00
sebastian.sellmair 9c1c506b21 [Minor] Move ClassesToProcess into .tree.deserializer package 2021-04-09 23:36:02 +02:00
sebastian.sellmair d0f8395556 [Commonizer] Remove old mergers 2021-04-09 23:36:01 +02:00
sebastian.sellmair 14161c8250 [Commonizer] Prevent copying missing modules that are already present in destination 2021-04-09 23:36:01 +02:00