Commit Graph

73 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 2b39282682 [FIR] Render original type before smartcasted type in DEBUG_INFO_EXPRESSION_TYPE
This is made for keep consistency with same renderer in FE 1.0
2021-02-16 17:51:32 +03:00
Dmitriy Novozhilov d7e3e83251 [FIR] Update testdata of FIR spec tests 2021-02-09 16:04:41 +03:00
Mikhail Glukhikh 0ee4f1f393 FIR: more exact nullability determination in potential UNSAFE_CALL check 2021-01-29 16:55:09 +03:00
Jinseong Jeon e72ddbcbfe FIR checker: differentiate UNSAFE_CALL from INAPPLICABLE_CANDIDATE
To do so, inside the root cause of inapplicable candidate errors,
we will record expected/actual type of receiver, if any.
That will help identifying inapplicable calls on nullable receiver.
2021-01-29 16:54:23 +03:00
Dmitriy Novozhilov 663d5026d8 [Test] Migrate FIR diagnostic spec tests to new infrastructure
This commit includes a lot of minor changes in testdata: new infrastructure
  requires that each test file in one testdata file in one module must
  have unique name, but a lot of existing spec tests didn't satisfy
  this requirement
2021-01-25 17:08:32 +03:00
Victor Petukhov b4d8adeeb4 Don't clean type info for containment operator if the resolution was unsuccessful, but all diagnostics were about only input types and non-strict only input types check was enabled 2020-12-25 11:53:09 +03:00
Mikhail Glukhikh abc2866902 [FIR] Fold flexible types after substitution if possible 2020-10-23 08:12:16 +03:00
Dmitriy Novozhilov 5efd533f55 [FIR] Desugar unary plus and minus as part of integer literal
#KT-42016
2020-09-23 14:05:09 +03:00
Dmitriy Novozhilov 1dc3c93efa [FIR] Don't assume types with not found symbol as error types 2020-09-11 12:13:33 +03:00
Mikhail Glukhikh dc46d51d9a [FIR TEST] Update diagnostic spec test data 2020-08-02 18:19:47 +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
anastasiia.spaseeva bef59055cd [Spec tests] Fix test cases structure 2020-07-28 20:26:31 +03:00
anastasiia.spaseeva 4db209648d [Spec tests] Update spec version 2020-07-28 20:26:26 +03:00
anastasiia.spaseeva 26ac87d9be [Spec tests] Update spec testData 2020-07-28 20:26:21 +03:00
Ivan Kylchik 3c01a39846 [FIR] Update test data after introducing new fir nodes 2020-07-21 13:54:17 +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
Ivan Kylchik 307871a050 [FIR] Unmute fir spec tests
#KT-38397 Fixed
#KT-38334 Fixed
2020-07-09 23:49:39 +03:00
Ivan Kylchik 92a51b9794 [FIR] Add illegal underscore check in BaseFirBuilder 2020-07-03 12:06:49 +03:00
Ivan Kylchik d0f6997e6d [FIR] Fix some of fir spec tests for real-literals
#KT-38336 Fixed
2020-07-03 12:06:44 +03:00
anastasiia.spaseeva 9d862aaa1d [Spec tests] Remove spec info from fir tests 2020-05-26 17:27:06 +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
anastasiia.spaseeva c736a1e5b0 [Spec tests] Update testsMap for when-expression section 2020-05-22 02:52:02 +03:00
anastasiia.spaseeva d9160a26e9 [Spec tests] Add property helpers to testMaps 2020-05-22 02:52:02 +03:00
anastasiia.spaseeva 270972ca1c [Spec tests] Make main link nullable for case if implementation tests don't have this one 2020-05-22 02:52:00 +03:00
anastasiia.spaseeva 3a46b5a45a [Spec tests] Add path element at testMaps for main links also 2020-05-22 02:52:00 +03:00
anastasiia.spaseeva d94c212a60 [Spec tests] Add linkType element to testMaps 2020-05-22 02:51:59 +03:00
anastasiia.spaseeva 3a31150df4 [Spec tests] Metadata refactoring: remove duplicated links in testMaps 2020-05-22 02:51:58 +03:00
anastasiia.spaseeva d32aca87d1 [Spec tests] Change metadata structure of implementation and spec tests 2020-05-22 02:51:57 +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
Denis Zharkov 3bb6aa6f28 Mark as FIR_IDENTICAL passing spec tests 2020-04-21 10:16:42 +03:00
Denis Zharkov 4c4f220fd0 FIR: Ignore failing spec tests
^KT-38336 Submitted
2020-04-21 10:16:39 +03:00
Denis Zharkov c4d72d6906 FIR: Ignore failing spec test
^KT-38334 Submitted
2020-04-21 10:16:38 +03:00
Denis Zharkov 26f0b044fc FIR: Ignore failing spec test
^KT-38333 Submitted
2020-04-21 10:16:37 +03:00
Denis Zharkov ee75347bb0 FIR: Adjust testData for spec tests: expressions 2020-04-21 09:52:52 +03:00
Denis Zharkov 06bae1e52f FIR: Adjust testData for spec tests: when-expression 2020-04-21 09:52:52 +03:00
Denis Zharkov 243f9bb758 FIR: Adjust testData for spec tests: constant-literals 2020-04-21 09:52:52 +03:00
anastasiia.spaseeva b1dbacf45f [Spec tests] Fix test-info parser for relevant places 2020-04-01 16:30:24 +03:00
anastasiia.spaseeva 0397470b85 [Spec tests] Update tests with spec version 0.1-313 2020-03-30 19:12:55 +03:00
anastasiia.spaseeva 5986ffae1e [Spec tests] Add tests for expressions and statements 2020-03-30 11:15:53 +03:00
anastasiia.spaseeva 509036b08b [Spec tests] Update spec tests metadata 2020-03-30 11:15:53 +03:00
anastasiia.spaseeva 8b307c0a2a [Spec tests] KT-35494 test update 2020-03-30 11:15:53 +03:00
anastasiia.spaseeva 1caafdc9d4 [Spec tests] Updating tests for kotlin 1.4.0 2020-03-30 11:15:53 +03:00
victor.petukhov f62901d7d9 [Spec tests] Actualize spec tests 2020-03-30 11:15:52 +03:00
victor.petukhov 2dbce2cc41 [Spec tests] Link diagnostic tests for when expression with Kotlin specification 2020-03-30 11:15:52 +03:00
anastasiia.spaseeva 3253907317 [Spec tests] Hotfix for not-null-assertion-expression test 2020-01-10 13:12:01 +03:00
anastasiia.spaseeva 94c008872e [Spec tests] Fix tests 2020-01-09 17:16:13 +03:00
anastasiia.spaseeva e0743f2268 [Spec tests] Add fixed tests for expressions section, fix linkage for reference-equality-expressions section 2020-01-09 17:16:12 +03:00
anastasiia.spaseeva 0a1b8a928c [Spec tests] Add tests for not-null-assertion-expression 2020-01-09 17:16:12 +03:00
anastasiia.spaseeva 7980db8613 [Spec tests] Add tests for prefix-expressions, logical-not--expression 2020-01-09 17:16:12 +03:00
anastasiia.spaseeva e5a9a58d65 [Spec tests] Add tests for prefix-expressions, unary-minus-expression and unary-minus-expression 2020-01-09 17:16:12 +03:00