Oleg Ivanov
7da94cc299
[FIR] Fix wrong ConstantReference for returnsNotNull in EffectExtractor
2020-08-12 11:06:07 +03:00
Oleg Ivanov
4367d6631f
[FIR] Add CallsInPlace contract analyzer
2020-08-11 16:17:01 +03:00
Denis Zharkov
db93b9052b
FIR: Fix incorrect optimization for integer literals
2020-08-11 10:14:02 +03:00
Nick
4669e019d1
[FIR] Add diagnostic CONFLICTING_OVERLOADS & REDECLARATION
2020-08-10 10:09:37 +03:00
Jinseong Jeon
0e54f98b79
FIR: support adapted callable reference with vararg
2020-08-03 16:37:36 +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
5c0528b61e
[Spec tests] Add tests for primary constructors declaration
2020-07-28 20:26:33 +03:00
anastasiia.spaseeva
0488dc985f
[Spec tests] Add tests for intersection and OR
2020-07-28 20:26:32 +03:00
anastasiia.spaseeva
46774fb6d6
[Spec tests] Add call without an explicit receiver tests for top-level non-extension functions
2020-07-28 20:26:32 +03:00
anastasiia.spaseeva
bef59055cd
[Spec tests] Fix test cases structure
2020-07-28 20:26:31 +03:00
anastasiia.spaseeva
4ad3847224
[Spec tests] Add tests for subtyping rules for simple classifier type
2020-07-28 20:26:30 +03:00
anastasiia.spaseeva
1801344c76
[Spec tests] Add tests for inner-and-nested-type-contexts section
2020-07-28 20:26:29 +03:00
anastasiia.spaseeva
d5ddb26180
[Spec tests] Add overload resolution tests for plus assign operator call
2020-07-28 20:26:28 +03:00
anastasiia.spaseeva
1d83c59e80
[Spec tests] Actualize test for callable reference section
2020-07-28 20:26:27 +03:00
anastasiia.spaseeva
4db209648d
[Spec tests] Update spec version
2020-07-28 20:26:26 +03:00
anastasiia.spaseeva
3f862830f2
[Spec tests] Add tests for resolving callable references and some co-tests
2020-07-28 20:26:24 +03:00
anastasiia.spaseeva
cfbfec77a5
[Spec tests] Add tests for Algorithm of MSC selection
2020-07-28 20:26:23 +03:00
anastasiia.spaseeva
73850e97d7
[Spec tests] Add test for Coercion to Unit error diagnostics absence
2020-07-28 20:26:22 +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
Ivan Kylchik
85e822e283
[FIR] Support smartcast after reference equality check
...
#KT-39000 Fixed
2020-07-16 12:43:55 +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
Dmitriy Novozhilov
102c9c08d0
[FIR] Resolve elvis call as special synthetic call
...
Before that commit we desugared `a ?: b` as
when (val elvis = a) {
null -> b
else -> elvis
}
It was incorrect, because `a` should be resolved in dependent mode,
but when it was `elvis` initializer it was resolved in independent
mode, so we can't infer type for `a` in some complex cases
2020-07-02 15:10:51 +03:00
Dmitriy Novozhilov
f0cc3a32d9
[FIR-TEST] Update testdata due to KT-39711
2020-06-19 15:53:10 +03:00
Dmitriy Novozhilov
64c9a83862
[FIR-TEST] Update testdata due to KT-39709
2020-06-19 15:53:10 +03:00
Dmitriy Novozhilov
26458875d5
[FIR] Add checker for uninitialized properties
2020-06-19 15:53:09 +03:00
simon.ogorodnik
a8cd8ad8f8
[FIR] Fix testData after changing anonymous object name
2020-06-19 01:52:02 +03:00
Dmitriy Novozhilov
d7ee168dff
[FIR] Create error candidate for completion instead of simple error reference
2020-06-15 15:32:25 +03:00
Denis Zharkov
72b09ff323
FIR: Rename FirSuperTypeScope and reuse it for type parameter type
...
It would allow ConeKotlinType.scope return FirTypeScope
and thus pulling down org.jetbrains.kotlin.fir.scopes.FirScope#processOverriddenFunctions
(See the following commits)
2020-06-11 11:31:31 +03:00
Denis Zharkov
19219c37b6
FIR: Fix test data for KT-13650 related test
...
Now, the behavior seems to be more correct then in FE 1.0
2020-06-03 10:43:37 +03:00
anastasiia.spaseeva
6c1efbe812
[Spec tests] Update spec testData
2020-05-28 14:23:11 +03:00
Yan Zhulanow
ef698a5747
Fix "PSI/index mismatch" in case of @ParameterName on non-functional types (KT-34524)
2020-05-27 02:38:41 +09: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
Pavel Kirpichenkov
003ba1c8f5
[NI] CST: add preemptive recursion detection
...
For single super type constructor create star projection argument when types for that argument are equal to the original types.
Captured star projections are replaced with their corresponding supertypes during this check.
Skip check for `in` parameters, for which recursive cst calculation does not happen.
Adjust constant in fallback recursion condition.
^KT-38544 Fixed
2020-05-12 11:13:43 +03:00
Mikhail Glukhikh
52abc2ae1a
[FIR] Fix spec test data according to a new diagnostic
2020-05-07 12:10:56 +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
Pavel Kirpichenkov
86d6470ced
Update test data forgotten in 36a57973
...
KT-38544
2020-04-28 20:26:11 +03:00
Pavel Kirpichenkov
36a57973b5
[NI] CST: remove max depth offset from recursion detection
...
Recursive type with several recursive anscestors can create a number of identical
common supertype calculations, growing exponentially on every step of recursion.
Previously the number of calculations was limited by D + 3, where D is a type depth.
Since the limit is dynamic, it seems that extra +3 offset can be dropped thus
reducing the number of recursions. The proper solution is to detect such a recursion
and fold recursive type preemtively, but for now this may improve performance in some use cases.
^KT-38544 In progress
2020-04-28 12:53:09 +03:00