Commit Graph

82469 Commits

Author SHA1 Message Date
Mark Punzalan efa3bf9c69 FIR IDE: Consolidate tests for AddExclExclFix in one directory.
I found these tests only _after_ the previous changes, so I needed to
merge and/or remove redundant tests.
2021-05-20 20:32:57 +02:00
Mark Punzalan db82797f58 FIR IDE: Enable AddExclExclCallFix for UNSAFE_CALL,
UNSAFE_OPERATOR_CALL, UNSAFE_INFIX_CALL, ITERATOR_ON_NULLABLE,
ARGUMENT_TYPE_MISMATCH, RETURN_TYPE_MISMATCH.

TODO: Don't offer fix when target is known to be null (from data flow
analysis).
2021-05-20 20:32:56 +02:00
Mark Punzalan 71a8d9c0bb FIR quickfix: Enable addExclExclCall tests for FIR, move typeMismatch
tests for addExclExclCall to addExclExclCall directory.
2021-05-20 20:32:56 +02:00
Mark Punzalan 85cbea70bf IDE: Don't do any resolution in AddExclExclExclFix (i.e., in
isAvailable and in invoke) by moving computation of element to modify
to before instantiation (i.e., to the factories or equivalent).

This lets us to move it to idea-frontend-independent and re-use it FIR.
2021-05-20 20:32:56 +02:00
Mark Punzalan c472c9facd IDE: Don't add this!! in AddExclExclCallFix for nullable member
access in extension function.

^KTIJ-10052 Fixed
2021-05-20 20:32:55 +02:00
Dmitry Petrov c0fbdb1535 JVM_IR KT-46840 don't generate special function references with indy 2021-05-20 21:13:17 +03:00
Dmitriy Novozhilov 3fc7e0ed03 [FIR] Remove COMPARE_WITH_LIGHT_TREE from default directives of fir diagnostic tests 2021-05-20 20:20:40 +03:00
Nikita Bobko f7aabf03f8 Fix kotlin-native compilation
This commit fixes:
```
org.gradle.internal.metaobject.AbstractDynamicObject$CustomMessageMissingMethodException:
Could not find method intellijDep() for arguments [] on object of type
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler
```
2021-05-20 17:02:00 +02:00
Viacheslav Kormushkin d10910e553 Added support of custom Xcode configurations to cocoapods plugin
#KT-42023
2021-05-20 17:36:08 +03:00
Denis.Zharkov a801eccf66 FIR: Report ARGUMENT_TYPE_MISMATCH instead of TYPE_MISMATCH for arguments 2021-05-20 17:24:51 +03:00
Denis.Zharkov db500fab94 FIR: Avoid reporting redundant TYPE_MISMATCH (for assignments) 2021-05-20 17:24:50 +03:00
Denis.Zharkov 36c9418d55 FIR: Convert couple of methods to block-body 2021-05-20 17:24:49 +03:00
Denis.Zharkov 7c05c6420a FIR: Update test data (incorrect NEW_INFERENCE_ERROR with self types)
^KT-46661 Relates
2021-05-20 17:24:48 +03:00
Denis.Zharkov 4433dffbd3 FIR: Mute test that should be disabled since 1.6 2021-05-20 17:24:47 +03:00
Denis.Zharkov 8f41badf74 Minor. Regenerate tests 2021-05-20 17:24:46 +03:00
Denis.Zharkov c3646b11ac FIR: Fix inference when unit value should be cast to Any 2021-05-20 17:24:44 +03:00
Denis.Zharkov d3fc22fc6a FIR: Mute suspicious test relevant to safe-call and increment
See KT-46658
2021-05-20 17:24:43 +03:00
Denis.Zharkov c4862fb124 FIR: Unwrap type aliases in type arguments 2021-05-20 17:24:42 +03:00
Denis.Zharkov 4f08e1550d FIR: Update test data (overload resolution by lambda return type) 2021-05-20 17:24:41 +03:00
Denis.Zharkov be68dd5c11 FIR: Update test data (suspicious UPPER_BOUND_VIOLATED) 2021-05-20 17:24:40 +03:00
Denis.Zharkov 9265377d51 FIR: Update test data (SAM conversions)
See KT-46372
2021-05-20 17:24:39 +03:00
Denis.Zharkov 601500fd99 FIR: Update test data (extension function type -> function type)
See KT-46371
2021-05-20 17:24:38 +03:00
Denis.Zharkov e46199d28b FIR: Update test data (nested type aliases)
It's not consistent with FE 1.0, but behavior
for nested type alias is undefined, yet.
2021-05-20 17:24:37 +03:00
Denis.Zharkov da3233c47d FIR: Update test data (NEW_INFERENCE_ERROR)
Though these diagnostics look correct (the calls or constraint
systems indeed contain errors), more precise diagnostic kinds should be
chosen later.
2021-05-20 17:24:36 +03:00
Denis.Zharkov 010a0c6cdc FIR: Update test data (delegate inference)
Changed data looks correct
2021-05-20 17:24:35 +03:00
Denis.Zharkov 7c5c744e87 FIR: Update test data (suspicious diagnostic on return statement)
There should be errors, but different: cannot infer parameter type

^KT-46422 Relates
2021-05-20 17:24:34 +03:00
Denis.Zharkov 00821bbc63 FIR: Update test data (repeated diagnostics)
They are a bit redundant, but it needs additional work to be done
to avoid them
2021-05-20 17:24:33 +03:00
Denis.Zharkov dbc0ebd861 FIR: Update test data
changed INAPPLICABLE_CANDIDATE -> ARGUMENT_TYPE_MISMATCH
2021-05-20 17:24:32 +03:00
Denis.Zharkov b94335dd1c FIR: Update diagnostics test data
Green code correctly became red
2021-05-20 17:24:30 +03:00
Denis.Zharkov 829f80179c FIR: Update rendered tree in test data 2021-05-20 17:24:29 +03:00
Denis.Zharkov faa5e46396 FIR: Fix inference case with flexible captured types
Previsously, errors have been ignored because we ignored errors raised
from the completion phase

See the comment above the createConstraintPartForLowerBoundAndFlexibleTypeVariable
2021-05-20 17:24:28 +03:00
Denis.Zharkov c758069d7c FIR: Rework reporting COMPONENT_FUNCTION_RETURN_TYPE_MISMATCH
Previously, it was reported via additional check on successful calls
But now it's contained within FirErrorNamedReference
2021-05-20 17:24:27 +03:00
Denis.Zharkov c46d049394 FIR: Implement more precise reporting diagnostics from new inference 2021-05-20 17:24:26 +03:00
Denis.Zharkov c67ae8a0a3 FIR: Replicate coercion-to-unit behavior from FE 1.0 2021-05-20 17:24:25 +03:00
Denis.Zharkov dac5c31993 Minor. Simplify ConstraintSystemUtilContext::createArgumentConstraintPosition 2021-05-20 17:24:23 +03:00
Denis.Zharkov 9c7982673b FIR: Support substitution of inner class constructor capturing outer type parameters 2021-05-20 17:24:22 +03:00
Denis.Zharkov 91806c0a68 FIR: Refine diagnostics in case argument type mismatch on lambda
Report ArgumentTypeMismatch instead of imprecise NEW_INFERENCE_ERROR
2021-05-20 17:24:21 +03:00
Denis.Zharkov 2b806e717d FIR: Avoid adding new constraints when system already has contradictions 2021-05-20 17:24:20 +03:00
Denis.Zharkov 571c16be52 FIR: Fix computing dispatch receiver for property-delegation operators 2021-05-20 17:24:19 +03:00
Denis.Zharkov 35c754c27c FIR-DFA: Ignore FinallyBlockExitNode when computing return arguments 2021-05-20 17:24:17 +03:00
Denis.Zharkov d0a0739d10 FIR: Mute builder-inference related tests
They started failing once we began reporting diagnostics from completion

^KT-46421 Relates
2021-05-20 17:24:16 +03:00
Denis.Zharkov 78ec4b5248 FIR: Mute property-delegation-inference related tests
They started failing once we began reporting diagnostics from completion
The main reason is that we resolve `delegate()` call
from `delegate().getValue()` in the independent context, while in FE 1.0
it's being resolved within the same system as getValue

^KT-46420 Relates
2021-05-20 17:24:15 +03:00
Denis.Zharkov cd401b5b8a FIR: Update integer literal-related tests
They started failing once we began reporting diagnostics from completion

^KT-46419 Relates
2021-05-20 17:24:14 +03:00
Denis.Zharkov 42d387925d FIR: Refine makesSenseToBeDefinitelyNotNull
Make it work just the same as the analogue from FE 1.0
This change is necessary since many tests start failing after
we began reporting diagnostics after call completion
2021-05-20 17:24:12 +03:00
Denis.Zharkov a700fdc312 FIR: Report diagnostics introduced during call completion 2021-05-20 17:24:10 +03:00
Nikita Bobko 09321e5e41 Implement ide-iml-to-gradle-generator
This module is used to generate build.gradle.kts files
of Kotlin IDE plugin
2021-05-20 16:09:14 +02:00
Nikita Bobko 61bf6bc447 Remove ':idea:idea-jps-common' from 'compiler-components-for-jps' artifact
It seems that it was added by mistake 'compiler-components-for-jps' artifact is used in IDE.
And in IDE we have our own jps-common module
2021-05-20 16:05:38 +02:00
Nikita Bobko 0fc31bc9c7 Disable IDE modules if 'attachedIntellijVersion' flag is specified 2021-05-20 16:05:37 +02:00
Nikita Bobko 897dafc7f3 GenerateTests: extract IDE part into separate module
It's refactoring-preparation commit. In later commits I will add possibility
to disable IDE modules with flags in gradle build (first step towards
removing IDE modules from kotlin repo). Thus, we need to extract IDE tests
generator in separate module for being possible to disable it with flags
2021-05-20 16:05:37 +02:00
Nikita Bobko ac6c810d25 Make it possible to attach platforms with different versions to kotlin repo 2021-05-20 16:05:37 +02:00