Mikhail Glukhikh
1938438fa1
FIR: save/restore tower data contexts during resolve jumps
...
#KT-50278 Fixed
2021-12-21 10:45:36 +00:00
Mikhail Glukhikh
25f30cb3a9
FIR: add resolve test for potential local scope problems
2021-12-21 10:45:34 +00:00
Simon Ogorodnik
bb13583862
FIR: Rename stub type for builder inference
2021-12-15 22:23:13 +03:00
Simon Ogorodnik
26b158bded
FIR: Update test-data (Delegate inference)
2021-12-15 22:23:12 +03:00
Mikhail Glukhikh
a4df0aaa7d
FIR: Add test
2021-12-15 22:23:08 +03:00
Mikhail Glukhikh
2338281889
FIR: Add test for get class + let in delegation
2021-12-15 22:23:07 +03:00
Simon Ogorodnik
11ec23e5dc
FIR: Make synthetic type variables fix to self-stub type if no info
2021-12-15 22:23:05 +03:00
Simon Ogorodnik
52145e0623
FIR: Respect nullability when substituting stub types
2021-12-15 22:23:02 +03:00
Mikhail Glukhikh
40a2837b4c
FIR: Update test-data (Delegate inference)
2021-12-15 22:23:02 +03:00
Simon Ogorodnik
b45b624945
FIR: Fix integrating DeclaredUpperBound positions in builder inference
2021-12-15 22:23:01 +03:00
Simon Ogorodnik
2e69f7732c
FIR: Add more tests for delegate inference
2021-12-15 22:22:57 +03:00
Mikhail Glukhikh
4d9e919f7e
FIR: preliminary refactoring of delegate resolve
2021-12-15 22:22:51 +03:00
Mikhail Glukhikh
a19495cb26
FIR: add test with resolve problem in delegate
2021-12-15 22:22:50 +03:00
Mikhail Glukhikh
df50a8141f
FirCallCompleter: unwrap definitely not-null type properly
...
#KT-50180 Fixed
2021-12-13 16:24:59 +03:00
Dmitriy Novozhilov
1f0b62b25f
[FIR] Add smartcasts from == if equals is from Any
...
^KT-49127 Fixed
2021-12-03 14:19:25 +03:00
Anastasiya Shadrina
e3f987459c
[PSI, FE] Support functional types
2021-12-02 20:24:11 +03:00
Denis.Zharkov
46217318c0
FIR: Load final static constant Java fields as non-nullable
2021-11-26 19:39:48 +03:00
Denis.Zharkov
3ec7866ead
FIR: Fix inference for case of non-nullable RHS of elvis
...
Some existing tests start failing after previous commits adding @Exact
attribute to `?:`
They have a form:
var x: String? = nullable()
if (x == null) {
x = nullable() ?: "" // considering @Exact the whole elvis is inferred to nullable from expect type
}
x.length // should be smart cast
2021-11-26 19:39:46 +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
pyos
a1be855d17
FIR: thread control flow through anonymous object init blocks
...
^KT-39646 Fixed
2021-11-26 14:21:29 +03:00
Dmitriy Novozhilov
330574cab6
[FIR] Properly support smartcasts on stable when subjects in when conditions
...
^KT-49860 Fixed
2021-11-26 11:26:21 +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
Nikolay Lunyak
8d647fa016
[FIR] KT-49265: Fix implicit visibility checks
2021-11-24 14:44:50 +03:00
Ilya Kirillov
8ace9e45b9
LL API: unmute passing test
2021-11-23 15:41:03 +03:00
Dmitriy Novozhilov
9c7058c3c5
[FIR] Support fields as part of graph of class initialization
...
^KT-49747 Fixed
2021-11-22 20:22:22 +03:00
Dmitriy Novozhilov
9807c67ae4
[FIR] Properly collect overriddens for method enhancement
...
If some java class has multiple supertypes then we need to collect
overriddens from all those types directly, even if superTypeScope
(which is FirTypeIntersectionScope in this case) returns only
one symbol from one of this types (not intersection one)
This is needed to proper enhancement in cases when some type occurs
multiple times in supertypes graph with different nullability
of arguments:
class ConcurrentHashMap<K, V> : AbstractMap<K!, V!>, MutableMap<K, V>
If we try to find method `get(key: K): V` supertype scope returns
`AbstractMap.get(key: K!): V!` (because it actually overrides
`MutableMap(key: K): V?`), but we need to get both symbols to
properly enhance types for `ConcurrentHashMap.remove`
2021-11-22 17:01:17 +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
Dmitriy Novozhilov
2aa027639c
[FIR] Fix access to fields from super class
...
^KT-49654 Fixed
2021-11-16 15:48:08 +03:00
Dmitriy Novozhilov
499b97d51e
[FIR] Fix setting file in supertypes resolution
...
^KT-49652 Fixed
2021-11-16 15:48:06 +03:00
Ilmir Usmanov
b7d88be41a
Regenerate FIR diagnostics-related files
2021-11-13 12:38:49 +01:00
zhelenskiy
c1dc1f7e33
Diagnostics renamed
...
Signed-off-by: zhelenskiy <zhelenskiy2000@yandex.ru >
2021-11-13 12:38:45 +01:00
Ivan Kochurkin
98cce8e05b
[FIR] Support of intersection types in bareTypes.doUnify ^KT-48832 Fixed
2021-11-12 15:20:47 +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
Ivan Kochurkin
e52a410599
[FIR] Initialize outer type parameters for local classes
2021-11-12 15:20:42 +03:00
Mikhail Glukhikh
b2d020606e
FIR: don't generate extension callable reference without receiver
2021-11-12 12:53:29 +03:00
Denis.Zharkov
6e15ee8fea
FIR: Refine callable reference resolution in assignment position
...
synthetic_select<() -> T>(::foo) form allows to select better candidate
than synthetic_select(::foo) with expect type `() -> T`
2021-11-10 22:00:01 +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
Denis.Zharkov
507422d3d8
FIR: Fix bare type case with flexible supertypes
2021-10-26 18:45:58 +03:00
Mikhail Glukhikh
1fe7a1ebb3
Add FIR test for KT-35565
2021-10-26 13:38:35 +03:00
Denis.Zharkov
a0a57581ec
FIR: Do not add alias for variables with explicit type
2021-10-20 22:05:24 +03:00
Mikhail Glukhikh
7fc19520a5
FIR: substitute super type during tower building properly #KT-49301 Fixed
2021-10-20 12:17:04 +03:00
Mikhail Glukhikh
b76e61cbc5
FIR: set dispatch receiver type to constructor in deserialization
2021-10-20 12:17:03 +03:00
Mark Punzalan
167dc81d3b
FIR/Analysis API: Get parameter name from function type notation or
...
`@ParameterName` annotation, which is also now added during type
resolution.
2021-10-15 16:19:00 +03:00
Mikhail Glukhikh
f4067f05a2
FIR: forbid java.lang.String(String) constructor in JvmMappedScope
...
#KT-49135 Fixed
2021-10-15 01:24:51 +03:00
Mikhail Glukhikh
09bc729b0e
FirDefaultParametersResolver: process imported from objects properly
...
#KT-49083 Fixed
2021-10-15 01:24:51 +03:00
Mikhail Glukhikh
c5a4a5de42
Make FirArrayOfCallTransformer recursive #KT-49076 Fixed
2021-10-15 01:24:49 +03:00
Mikhail Glukhikh
31db76da56
FIR: fix false positives of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASS
...
#KT-49129 Fixed
2021-10-15 01:24:47 +03:00