Ilmir Usmanov
fec845365a
Minor. No longer ignore obsolete PRE_RELEASE_CLASS diagnostic
...
in coroutine tests.
2020-07-29 17:52:01 +02:00
Dmitriy Novozhilov
f283f2db43
[FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible
...
Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
2020-07-28 20:46:56 +03:00
Denis Zharkov
dc6efa5a61
Fix incorrect handling of mixed named/positional arguments
...
^KT-40404 Fixed
2020-07-24 13:36:52 +03:00
Pavel Kirpichenkov
710659324c
[NI] Fix common supertype of types with error supertypes
...
Enable check for error supertypes during CST calculation in classic type system context.
Cyclic upper bound + known type parameters of superclasses may create non-error types
with error supertypes. Such types don't have common constructors with other normal types
and cause assertion errors during intersection.
^KT-36951 Fixed
2020-07-22 11:41:42 +03:00
Denis Zharkov
037ff2fa52
Fix incorrect handling of @NotNull type parameters
...
^KT-36770 In progress
^KT-40114 Relates
^KT-28785 Relates
2020-07-22 10:16:14 +03:00
Denis Zharkov
cd896ae6c8
FIR: Implement FE 1.0 semantics for super unqualified calls
...
See original logic at org.jetbrains.kotlin.types.expressions.unqualifiedSuper.UnqualifiedSuperKt#resolveUnqualifiedSuperFromExpressionContext
^KT-39070 Fixed
^KT-39599 Related
2020-07-20 12:24:51 +03:00
Jinseong Jeon
50f1f8f0eb
FIR: consider more functional types during SAM resolution
2020-07-16 12:56:18 +03:00
Mikhail Zarechenskiy
100a6f70ca
Relax rules about inferring to Nothing for special calls
...
#KT-37388 Fixed
#KT-38427 Fixed
#KT-39953 Fixed
#KT-38899 Fixed
2020-07-16 09:56:46 +03:00
Nick
67e58ff152
[FIR] Fix redundant calls to firEffectiveVisibility()
2020-07-13 16:30:47 +03:00
Dmitriy Novozhilov
29849b1330
[FIR] Resolve rhs of += in dependent context
2020-07-08 12:13:31 +03:00
Victor Petukhov
eec3a4720c
NI: don't collect members if a receiver type is StubType to avoid creating error candidates instead of not crating them at all
...
^KT-37717 Fixed
2020-07-07 11:17:06 +03:00
Dmitriy Novozhilov
a0f8ada285
[FIR-TEST] Unmute failing diagnostic tests
2020-07-06 12:11:57 +03:00
Dmitriy Novozhilov
648953085f
[FIR] Replace kotlin/Throwable with java/lang/Throwable in JvmMappedScope
...
#KT-39044 Fixed
2020-07-02 15:10:51 +03:00
Dmitriy Novozhilov
7834284bec
[FIR] Support deserialization of value parameter annotations
...
There are still some problems, see KT-39837
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
dbbb999952
[FIR] Support builder (coroutine) inference
...
#KT-37431 Fixed
2020-06-29 12:19:02 +03:00
Dmitriy Novozhilov
6a9504f26a
[FIR-TEST] Add coroutines diagnostic tests from old FE to FIR test suite
2020-06-29 12:19:02 +03:00
Denis Zharkov
9668a60151
FIR: Explicitlty separate static and member scopes
...
For Java, they have rather different semantics considering "overrides"
and obtaining functions/properties from supertypes
See the Java statics implementation
2020-06-26 16:52:10 +03:00
Mikhail Zarechenskiy
684ca5029f
Add tests for obsolete issues
...
#KT-37734 Obsolete
#KT-39824 Obsolete
2020-06-26 06:24:59 +03:00
Dmitriy Novozhilov
a317c8a803
[FIR-TEST] Update testdata due to unresolved KT-36056
2020-06-19 15:53:09 +03:00
Dmitriy Novozhilov
26458875d5
[FIR] Add checker for uninitialized properties
2020-06-19 15:53:09 +03:00
Mikhail Bogdanov
9c0b96af71
Report error on missed specialization in compatibility mode
...
#KT-39603 Fixed
2020-06-19 11:57:36 +02:00
Mikhail Bogdanov
477cca3c99
Add JvmDefaultWithoutCompatibility annotation
2020-06-19 11:57:35 +02:00
Victor Petukhov
982cbf1148
NI: clear calls info in coroutine inference before the second analysis of += right side
...
^KT-39376 Fixed
2020-06-16 18:26:59 +03:00
Mikhail Zarechenskiy
93e9d3e57d
Delay check for possibly deferred return type for reference candidate
...
This issue appeared after recently added new overload for flatMapTo.
Before that, we picked candidate returning List<T> and completed
inference, now we also check one more flatMapTo, which is here is
incorrect and as a result we go into outer scope. Outer scope contains
one property with deferred type, which introduced error about
"typechecker has run into recursive problem" even it isn't applicable
by receiver.
So, the fix is to check receiver first and only then check return
type of a candidate.
#KT-39470 Fixed
2020-06-09 17:36:58 +03:00
Dmitriy Novozhilov
802272a579
Enable ContractsOnCallsWithImplicitReceiver in 1.4
...
#KT-28672 Fixed
2020-06-09 11:21:57 +03:00
Ilmir Usmanov
8cc5f2abfb
Forbid val field initialization inside EXACLTY_ONCE lambda
...
unless the lambda is inline. This way, final field will remain final.
2020-06-04 21:26:48 +02:00
Mikhail Glukhikh
88b130308d
Revert accidental test data change introduced in 0d6e3093
2020-06-04 16:34:40 +03:00
Dmitry Petrov
de25359a90
Fix stdlib compilation after updated @JvmName check
...
Previously, extension receiver type was not taken into account when
checking for @JvmName annotation applicability to possibly mangled
functions (such functions, however, were mangled).
This bug was fixed, but, unfortunately, not before such functions were
added to stdlib ('sumOf' family).
2020-06-04 12:16:28 +03:00
Jinseong Jeon
0d6e309372
FIR: construct type with actual type arguments during GetClassCall transformation
2020-06-04 10:13:37 +03:00
Denis Zharkov
55a4c40970
FIR: Fix diagnostics test data after safe-call refactoring
...
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Dmitriy Novozhilov
164b4dd439
[FIR-TEST] Update testdata according to #KT-39340
2020-06-03 10:36:00 +03:00
Dmitriy Novozhilov
069adebf01
[NI] Fix checking for inline lambdas without candidate
...
#KT-34506
2020-06-01 23:40:32 +03:00
Mikhail Zarechenskiy
f073e34926
Update forgotten test-data
2020-06-01 15:35:24 +03:00
Mikhail Zarechenskiy
a5203428a4
Replace resolution error for suspend-conversion with call checker error
2020-06-01 10:19:34 +03:00
Mikhail Zarechenskiy
ea6a8ce5cd
Rename language feature to make it more clear
2020-05-31 18:13:17 +03:00
Dmitriy Novozhilov
2812ed0a02
[NI] Use types and systems from return arguments instead of return type of lambda
2020-05-29 09:36:33 +03:00
Dmitriy Novozhilov
f76b57d260
[OI] Prefer candidate without @OverloadResolutionByLambdaReturnType
2020-05-29 09:36:33 +03:00
Dmitriy Novozhilov
a604404bff
[NI] Report warning if candidate was chosen using only @OverloadResolutionByLambdaReturnType
2020-05-29 09:36:33 +03:00
Dmitriy Novozhilov
82ce2e7b7c
[NI] Update annotation used in testdata
2020-05-29 09:36:32 +03:00
Dmitriy Novozhilov
e1418a5540
[NI] Check for maximally specific candidate chosen with factory resolution
2020-05-29 09:36:32 +03:00
Dmitriy Novozhilov
e7869bd9d4
[NI] Analyse lambda in factory pattern resolution in independent context
2020-05-29 09:36:32 +03:00
Dmitriy Novozhilov
8c524769b1
[NI] Add required FactoryPattern annotation for factory pattern resolve
...
#KT-11265
2020-05-29 09:36:31 +03:00
Dmitriy Novozhilov
865ddac07a
[NI] Add feature for choosing candidate by lambda return type
2020-05-29 09:36:31 +03:00
Victor Petukhov
a84780fefb
NI: Add regression test for KT-38799
...
The issue has been fixed by introducing the modified postponed arguments analysis (KT-37952)
2020-05-25 11:56:08 +03:00
Victor Petukhov
379c6944a2
NI: extract diagnostics from partially resolved call instead of separately handling it including running all checks
...
^KT-37630 Fixed
^KT-35494 Fixed
2020-05-22 22:13:53 +03:00
Dmitry Petrov
de4ebe4395
Prohibit @JvnName on functions mangled because of return type
2020-05-20 07:19:29 +03:00
Denis Zharkov
687a58843f
FIR: Rewrite visibility checking
...
Unbound it from implicit receiver stack as it only needs scope structure/declaration nestedness
Semantics for protected has been changed in a way it works in old FE
NB: We should report additional diagnostic in case of CallCompanionProtectedNonStatic.fir.kt
(see KT-38814)
2020-05-15 16:04:44 +03:00
Victor Petukhov
73dec25eb1
NI: intersect DFI types before capturing
...
^KT-37887 Fixed
2020-05-14 19:54:59 +03:00
Alexander Udalov
ea413cefb4
Remove TypeOfChecker for JVM frontend
...
This is needed to support typeOf with non-reified type parameters.
#KT-30279
2020-05-13 10:04:26 +02:00
Victor Petukhov
11d05c1abd
NI: propagate isNullabilityConstraint flag into constraint injector and inherit it
...
^KT-37510 Fixed
2020-05-12 16:15:07 +03:00