Jinseong Jeon
ca541337d1
FIR: skip return insertion for lambda w/ Unit return type
2020-08-21 19:16:43 +03: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
Victor Petukhov
b0ac046b05
NI: decrease fixation priority for variables which have only incorporated from upper bound constraints
...
^KT-40045 Fixed
^KT-39633 Fixed
2020-07-20 19:20:18 +03:00
Jinseong Jeon
50f1f8f0eb
FIR: consider more functional types during SAM resolution
2020-07-16 12:56:18 +03:00
Dmitriy Novozhilov
a5bfa3ae63
[FIR-TEST] Update broken testdata
2020-07-08 12:13:33 +03:00
Dmitriy Novozhilov
a0f8ada285
[FIR-TEST] Unmute failing diagnostic tests
2020-07-06 12:11:57 +03:00
Victor Petukhov
d7f52e8b67
NI: do explicit incorporation of type of fixing type variable into other constraints
...
^KT-37380 Fixed
2020-05-27 15:44:03 +03:00
Victor Petukhov
e70242f6f1
NI: some review fixes for improved postponed arguments analysis
2020-05-25 19:37:30 +03:00
Victor Petukhov
756326cefe
NI: report error diagnostic about impossible to infer anonymous function's parameter
...
Partially fixed KT-39098
2020-05-25 19:37:27 +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
Victor Petukhov
eff5f3a242
NI: do type checking for anonymous functions not inside a call
...
^KT-38890 Fixed
^KT-38439 Fixed
2020-05-19 16:29:14 +03:00
Victor Petukhov
b49dc46e6c
NI: improve reporting errors about mismatch number of anonymous function parameters
2020-05-09 12:34:08 +03:00
Victor Petukhov
585e98a835
NI: support inferring lambda receiver type by explicit receiver of anonymous function (which is another postponed argument)
2020-05-09 12:34:06 +03:00
Victor Petukhov
260683c20e
NI: Improve postponed arguments analysis
...
Introduce seven stages:
1) Analyze postponed arguments with fixed parameter types
2) Collect parameter types from constraints and lambda parameters' declaration
3) Fix not postponed variables for parameter types of all postponed arguments
4) Create atoms with revised expected types if needed
5) Analyze the first ready postponed argument and rerun stages if it has been analyzed
6) Force fixation remaining type variables: fix if possible or report not enough information
7) Force analysis remaining not analyzed postponed arguments and rerun stages if there are
^KT-37952 Fixed
^KT-32156 Fixed
^KT-37249 Fixed
^KT-37341 Fixed
2020-05-07 11:42:00 +03:00