Dmitriy Novozhilov
f247cc3165
[NI] Properly detecting suitability of candidate for builder inference
...
#KT-41430 Fixed
2020-08-28 10:34:18 +03:00
Dmitriy Novozhilov
9cde42e2bc
[NI] Fix shouldRunCompletion for builder inference session
...
#KT-41308 Fixed
#KT-41363
2020-08-27 16:51:12 +03:00
Dmitriy Novozhilov
e98cbf81cf
[NI] Don't always complete builder inference lambda in FULL mode
...
#KT-41164 Fixed
2020-08-27 16:51:11 +03:00
Nick
61e21dadec
[FIR] Add 3 type mismatch diagnostics
2020-08-24 11:06:12 +03:00
Nick
c8f8908a01
[FIR] Add NO_THIS & INSTANCE_ACCESS_BEFORE_SUPER_CALL
2020-08-24 11:06:10 +03:00
Mikhail Zarechenskiy
2e131b870a
Add tests for obsolete issues
...
#KT-38804 Obsolete
#KT-38801 Obsolete
#KT-38835 Obsolete
#KT-38737 Obsolete
#KT-38664 Obsolete
#KT-38549 Obsolete
#KT-38766 Obsolete
#KT-38714 Obsolete
2020-08-11 12:34:02 +03:00
Nick
4669e019d1
[FIR] Add diagnostic CONFLICTING_OVERLOADS & REDECLARATION
2020-08-10 10:09:37 +03:00
Mikhail Glukhikh
6eab6f2f87
[FIR TEST] Replace OTHER_ERROR with UNRESOLVED_REFERENCE in test data
2020-08-02 18:19:47 +03:00
Mikhail Glukhikh
9335e09149
[FIR] Don't report duplicated errors in implicit properties / parameters
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
749346b73b
[FIR] Don't report duplicated errors on default accessor error type refs
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
0804c6a0f3
[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
...
This commit introduces several different things, in particular:
- check type arguments in expressions
- new TypeArgumentList node to deal with diagnostic source
- ConeDiagnostic was moved to fir:cones
- ConeIntermediateDiagnostic to use in inference (?) without reporting
- detailed diagnostics on error type
2020-08-02 18:19:44 +03:00
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
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
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
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
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
36f6ccffde
Add test for obsolete issue
...
#KT-38667 Obsolete
2020-05-08 15:42:43 +03:00
Mikhail Zarechenskiy
11390d9de3
Add test for obsolete issue
...
#KT-38420 Obsolete
2020-04-27 01:55:39 +03:00
Mikhail Zarechenskiy
537a59d6ca
Introduce basic suspend conversion in FE
...
#KT-15917 In Progress
2020-04-22 16:10:44 +03:00
Mikhail Zarechenskiy
befa1e114c
Add tests for obsolete issues
...
#KT-38092 Obsolete
#KT-38179 Obsolete
#KT-35105 Obsolete
#KT-36696 Obsolete
#KT-36947 Obsolete
#KT-37337 Obsolete
#KT-37309 Obsolete
#KT-37727 Obsolete
#KT-37735 Obsolete
#KT-37853 Obsolete
#KT-37920 Obsolete
#KT-37709 Obsolete
#KT-37706 Obsolete
2020-04-20 04:10:37 +03:00
Mikhail Zarechenskiy
38a719cb22
[NI] Fix trace manipulations for builder inference and ::-expressions
...
For a class literal Type::class we are resolving Type as a constructor,
getting all diagnostics (about missing arguments, for example) and then
just not committing this trace with errors
#KT-37626 Fixed
2020-03-31 15:50:58 +03:00
Alexander Udalov
d668808b44
Migrate Experimental->RequiresOptIn in project sources
2020-03-10 12:07:15 +01:00
Alexander Udalov
795d6ab407
Migrate UseExperimental->OptIn in project sources
2020-03-10 12:07:14 +01:00
Mikhail Zarechenskiy
14f7529c1b
[NI] Reanalyze coroutine-block if there is inapplicable call
...
It's not clear how one should rollback _all_ resolution results if
there is inapplicable call. Ideally, such calls should not be available
in coroutine block but for now, to have backward compatibility, we'll
just reanalyze coroutine block as a usual lambda if there is at least
one such call.
As a result, also remove diagnostic about non-applicable call as it
become useless with current reanalysis
#KT-37061 Fixed
#KT-32097 Fixed
#KT-32203 Fixed
#KT-35306 Fixed
#KT-36202 Fixed
#KT-36220 Fixed
#KT-32654 Fixed
2020-02-28 10:25:22 +03:00
Mikhail Zarechenskiy
f2f95496e3
[NI] Complete contradictory candidates inside builder-inference
...
In this test `kotlin` was resolved to the extension
`val Class<T>.kotlin` because it was saved in builder-inference.
Usually, it's fine, but not for qualified expressions as they have
fallback resolve in case of error
2020-02-21 17:39:50 +03:00
Mikhail Zarechenskiy
4542f3b720
[NI] Finish analysis for coerced last lambda expressions if needed
2020-02-17 10:29:45 +03:00
Ilya Chernikov
6356807997
Reapply "Only create descriptors for candidates with lambda args"
...
#KT-36247 fixed
A lot of testdata changed because significanly less (error) descriptors
are created for unresolved types, so diagnostics became different.
2020-02-14 11:41:30 +01:00
Mikhail Zarechenskiy
319a38bd5c
[NI-MIGRATE] Update diagnostic messages
2020-02-13 11:15:59 +03:00
Pavel Kirpichenkov
572dee6835
Revert "Only create descriptors for candidates with lambda args"
...
This reverts commits:
349d07ad43
2249c223fe
Revert due to differences in test data with NI enabled
^KT-36247 Open
2020-02-12 20:52:30 +03:00
Pavel Kirpichenkov
c02dd720dc
[NI] Restore missing call checker errors in coroutine inference
...
Reported diagnostics from the call checkers didn't get to a top-level
trace, if an intermediate wrapping call was a lambda call.
Use of the top-level trace in call completer is a workaround for
the unreliable commit order of common calls' temporary traces.
^KT-33542 Fixed
2020-02-12 12:27:02 +03:00
Ilya Chernikov
2249c223fe
Only create descriptors for candidates with lambda args
...
#KT-36247 fixed
2020-02-10 14:21:02 +01:00
Mikhail Zarechenskiy
e42f16c95c
[NI] Fix construction of common system for builder inference
2020-01-29 11:43:15 +03:00
Mikhail Zarechenskiy
4f74515508
[NI] Fix CST calculation for covariant type projections
2020-01-16 17:18:20 +03:00
Dmitriy Novozhilov
7733611c47
[TEST] Replace Experimental with OptIn in testdata
2020-01-15 22:12:28 +03:00
Dmitriy Novozhilov
3428a17759
[NI] Postpone calls with not enough information in builder inference
2020-01-15 14:01:25 +03:00
Alexander Udalov
7742a3b697
Rename UseExperimental->OptIn, Experimental->RequiresOptIn in compiler tests
2020-01-14 21:04:42 +01:00
Mikhail Zarechenskiy
3840294f44
Add tests for obsolete issues
...
#KT-11979 Obsolete
#KT-12898 Obsolete
#KT-30657 Obsolete
#KT-28446 Obsolete
2019-12-20 12:06:20 +03:00
Dmitriy Novozhilov
7fed7a840b
[NI] Update some testdata broken in NI
2019-12-20 11:17:47 +03:00
Dmitriy Novozhilov
aa8578b675
Allow null operators for result and using Result as return type with enabled InlineClasses
2019-12-19 10:22:45 +03:00
Dmitriy Novozhilov
61c337588b
Revert testdata accidentally committed in 665405c4
2019-11-07 10:41:15 +03:00
Dmitriy Novozhilov
665405c435
[FIR] Add discriminating generics into ConeOverloadConflictResolver
2019-11-06 15:05:06 +03:00
Pavel Kirpichenkov
87b88a738e
[Minor] Update test data for NI
2019-10-25 19:37:06 +03:00
Pavel Kirpichenkov
d886d48cf0
Record resolution results for ambiguous callable references
...
#KT-34282 Fixed
2019-10-23 18:52:53 +03:00
Pavel Kirpichenkov
02fc921eed
Report diagnostics about callable reference resolution ambiguity
...
Found diagnostics were not reported before.
#KT-32862 In Progress
2019-10-22 13:50:59 +03:00
Mikhail Zarechenskiy
80fa591f10
Fix failing test because of slightly different diagnostics for LV=1.2
...
There are no `DEBUG_INFO_MISSING_UNRESOLVED` diagnostics for this test
if one runs it under LV=1.2. These diagnostics are not crucial
for the test (especially for version 1.2), so use it only with
the latest stable version
Plus, reuse test-data to check behavior in new inference
2019-08-21 18:41:13 +03:00