Victor Petukhov
72a78eb423
Replace errors with warnings for type checker recursion on delegates
...
^KT-49477 Fixed
2022-01-17 21:27:14 +03:00
Victor Petukhov
a4a2f71fca
Introduce deprecation cycle for reporting errors on some illegal equality calls inside a builder inference call
...
^KT-43493 Fixed
2022-01-17 19:44:16 +03:00
Victor Petukhov
060af85a93
Extract checks on equality expressions into a separate checker
...
^KT-43493 Fixed
2022-01-17 19:44:16 +03:00
Dmitriy Novozhilov
57346bac54
[FIR] Properly handle flexible types during creation of DNNT
...
^KT-50788 Fixed
2022-01-17 17:59:22 +03:00
Denis.Zharkov
a33d9df0cd
NI: Support forking inference with heuristics
...
Mostly, it only affects FIR
It partially allows to consider several variance of constraints like
A<Int> & A<T> <: A<X_var> that are mostly brought by smart casts
^KT-49542 Fixed
^KT-50489 Relates
2022-01-11 20:45:55 +03:00
Victor Petukhov
455b3143e7
[FE 1.0] Introduce builder inference stub types checker which may report more precise and clear errors due to resolution ambiguity
...
^KT-49828 Fixed
2022-01-11 18:34:47 +03:00
Victor Petukhov
8e2b90b5db
[FE 1.0] Don't report CAST_NEVER_SUCCEEDS on stub types
...
^KT-49829 Fixed
2022-01-11 18:34:41 +03:00
Victor Petukhov
37d163d417
[FE 1.0] Don't lose diagnostics during lambda analysis at the overload resolution by return type stage
...
^KT-49658 Fixed
2022-01-11 18:07:05 +03:00
Denis.Zharkov
9be4f818f4
FIR: Weaken some UPPER_BOUND_VIOLATED restrictions
...
See test data at starProjectionInsteadOutCaptured.kt
^KT-49412 Fixed
^KT-50230 Relates
^KT-48044 Fixed
2022-01-11 16:27:06 +03:00
Simon Ogorodnik
61ea65906c
FIR: Implement captured type substitution
2021-12-15 22:22:58 +03:00
Denis.Zharkov
0d9ad62d4a
Fix inference for lambdas with with extension function expected type
...
^KT-49832 Fixed
^KT-49836 Fixed
2021-11-26 19:39:51 +03:00
Denis.Zharkov
c0a46eaefd
FIR: Fix inference of nullable unit lambda at RHS of elvis
2021-11-26 19:39:49 +03:00
Denis.Zharkov
883b18a0c6
FIR: Preserve non-custom attributes after substitution
...
The test is being fixed since synthetic call for elvis has @Exact-attribute on return type
2021-11-26 19:39:45 +03:00
Denis.Zharkov
c0b6a593e0
FIR: Fix incorrect type of block generated for inc operator
...
Previously, it was obtained from expected type of a variable being assigned,
but it's better to use the type of resulting expression
Initially this part was brought in 4ab0897d7d ,
but as we see in commit message and tests it was all about unit-coercion
2021-11-26 19:39:38 +03:00
Dmitriy Novozhilov
8707be51c9
[FIR] Report errors about invisible types from type resolution
2021-11-26 11:26:17 +03:00
Ivan Kochurkin
f046f2964b
[FIR] Add PLATFORM_CLASS_MAPPED_TO_KOTLIN
2021-11-24 23:13:41 +03:00
Ivan Kylchik
c7435ba760
Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
...
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Ivan Kochurkin
d0a4ca199d
[FIR] Add UNCHECKED_CAST
...
Regenerate diagnostics code
2021-11-12 15:20:45 +03:00
Ivan Kochurkin
2b5524b18f
[FIR] Add CAST_NEVER_SUCCEEDS
2021-11-12 15:20:44 +03:00
Victor Petukhov
4118f3146b
Use proper isPlaceholder check for psi type references
2021-11-01 13:03:41 +03:00
Victor Petukhov
c8dea3db35
Add test for using underscored type in different positions
2021-11-01 13:03:40 +03:00
Victor Petukhov
d1acb09add
Report unsupported on using underscored type argument if the corresponding feature is disabled
2021-11-01 13:03:40 +03:00
Victor Petukhov
8a99aa4b42
[FIR] Don't build placeholder projection for types
2021-11-01 13:03:40 +03:00
Victor Petukhov
5508d40371
Put using underscored type arguments under a feature
2021-11-01 12:25:45 +03:00
Victor Petukhov
1073adbbf0
Report unsupported errors on annotations on underscored type arguments
2021-11-01 12:25:14 +03:00
Victor Petukhov
248c9550cd
Support type annotations resolution on an underscored type argument
2021-11-01 12:25:10 +03:00
Victor Petukhov
b69fb6779f
Basic support of partially specified type arguments though a new underscore operator for type arguments
...
^KT-13394
2021-11-01 12:25:07 +03:00
Dmitriy Novozhilov
f26059a7d3
[FE] Add clear warning about future changes about nullability of safe call with non nullable receiver
...
^KT-46860
2021-10-27 16:28:37 +03:00
Mikhail Glukhikh
b0ec3cb831
Switch off FIR version off REDUNDANT_LABEL_WARNING (performance-related)
...
This reverts commit 363b2550 (partially)
2021-10-27 12:26:59 +03:00
Victor Petukhov
34fb61fb3e
Postpone promoting warnings to errors for ProperTypeInferenceConstraintsProcessing
...
^KT-49322 Fixed
2021-10-26 19:38:00 +03:00
Victor Petukhov
2261928f4f
Process simple CapturedType in ClassicTypeSystemContext.typeConstructorProjection as well
...
^KT-49101 Fixed
2021-10-26 19:37:58 +03:00
Tianyu Geng
363b25504d
FIR checker: report REDUNDANT_LABEL_WARNING
...
Since many labels are not present in the FIR tree, this checker is
implemented as a syntax checker. Comparing with FE1.0, this change
reports some REDUNDANT_LABEL_WARNING that FE1.0 has missed, especially
LHS of assignments.
2021-10-25 13:51:01 +03:00
Abduqodiri Qurbonzoda
a3755a8e94
@UseExperimental -> @OptIn in compiler testData
2021-10-17 21:14:37 +00:00
Ivan Kochurkin
cbfe0ac073
[FIR] Coerce first parameter to extension receiver ^KT-46371 Fixed
...
Fix typos
2021-10-08 18:52:20 +03:00
Ivan Kochurkin
55839aab91
[FIR] Extract non-null info from x?.y!! ^KT-44513 Fixed
2021-10-06 21:56:05 +03:00
Svyatoslav Kuzmich
c88cde2f8b
[Wasm] DONT_TARGET_WASM_BACKEND => IGNORE_BACKEND in testdata
2021-10-02 06:14:35 +00:00
Victor Petukhov
43a83dd07a
Don't add LHS type constraint for callable references too early, before the resolution
...
The constraint depends on a resolution candidate, because it can be Java static or companion object's member (don't need add constraint in this case)
^KT-41978 Fixed
2021-10-01 13:33:21 +03:00
Victor Petukhov
e30d467304
Implement deprecation cycle for proper refinement rhs type in assignments for java fields
...
^KT-46727 Fixed
2021-09-30 20:08:54 +03:00
Victor Petukhov
0cb56be14f
Have "in type" for java fields to be able to check that type in assignment positions (against rhs' type)
...
^KT-46727 Fixed
2021-09-30 20:08:52 +03:00
Victor Petukhov
ee728b6902
Use the new type inference for top-level callable reference resolution
...
^KT-47797 Fixed
^KT-47987 Fixed
^KT-45034 Fixed
^KT-48446 Fixed
^KT-13934 Fixed
2021-09-27 16:12:27 +03:00
Mikhail Glukhikh
3febabe977
Use OPT_IN instead of EXPERIMENTAL in diagnostic names
2021-09-10 16:29:13 +03:00
pyos
03304bce96
FIR: enhance Java type parameter bounds
...
This also fixes handling of self-recursive types.
TODO: fix jspecify/{strict,warn}Mode/Captured.fir.kt
2021-09-06 13:11:08 +03:00
Dmitriy Novozhilov
1e0878cde0
[FE 1.0] Postpone SafeCallsAreAlwaysNullable till 1.7
...
^KT-46860 Fixed
2021-09-02 13:34:27 +03:00
Denis.Zharkov
62bef48f9d
Adjust test data to changed rendering: T!! -> T & Any
...
^KT-26245 In Progress
2021-08-31 15:41:15 +03:00
Denis.Zharkov
9e6af52e1f
Enable DefinitelyNotNullTypeParameters since 1.7
...
^KT-26245 In Progress
2021-08-31 15:41:13 +03:00
Dmitriy Novozhilov
0924216ed2
[FIR] Distinguish stub types for builder inference and for subtyping
...
^KT-48110 Fixed
2021-08-26 10:08:52 +03:00
Ivan Kochurkin
84c5f58cab
[FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER
2021-08-25 21:53:23 +00:00
Victor Petukhov
bf1e68a53f
Resolve calls using the builder inference despite the presence of the annotation if there are uninferred type variables
...
^KT-48194 Fixed
2021-08-20 01:28:11 +03:00
Victor Petukhov
55811c8851
Don't use builder inference if possible
...
The builder inference is running only if there are still uninferred type variables
^KT-48193 Fixed
2021-08-20 01:28:10 +03:00
Mikhail Glukhikh
a21d281c19
FIR: fix capturing on intersection types #KT-48109 Fixed
2021-08-13 11:14:03 +03:00