Jinseong Jeon
0a5b899aab
FIR: more comprehensive substitution of stub types after builder inference
2020-11-25 16:55:09 +03:00
Jinseong Jeon
30c97e6cb4
FIR: update unsubstituted return types in builder
...
#KT-43340 Fixed
2020-11-25 16:55:09 +03:00
Jinseong Jeon
dfc5059d6b
FIR: reproduce KT-43340
2020-11-25 16:55:08 +03:00
Kristoffer Andersen
5967e8295e
[IR] Align captured receiver variable naming with old BE
2020-11-18 15:18:10 +01:00
Jinseong Jeon
9a99af53ba
FIR JVM: correct signature conversion for array
...
#KT-43339 Fixed
2020-11-18 13:06:51 +03:00
Jinseong Jeon
5c61079d75
FIR: reproduce KT-43339 (Throwable.stackTrace)
2020-11-18 13:06:49 +03:00
Jinseong Jeon
fc7f589caa
FIR Java: record Java types with flexible nullability
2020-11-18 13:06:46 +03:00
Jinseong Jeon
cb77b76c0d
FIR2IR: convert recursive captured type properly
...
#KT-43346 Fixed
2020-11-16 15:14:24 +03:00
Mikhail Glukhikh
7b4f781ea8
[FIR] Split primary constructor parameter scope into two different
...
In init block or property initializers,
for `val x` declared in primary constructor,
`x` reference is now resolved to property, not to parameter.
So we need two different scopes for primary constructor,
one for 'pure' parameters and another one for all parameters,
including val/var ones.
#KT-42844 Fixed
2020-10-30 18:44:55 +03:00
Mikhail Glukhikh
4a3a2ef72a
[FIR2IR] Test data fix after rebase (regular + delegated supertype)
2020-10-28 18:09:13 +03:00
Mikhail Glukhikh
60141ccbaa
[FIR] Fix Substitution scope key to avoid accidental matches
2020-10-28 18:09:12 +03:00
Mikhail Glukhikh
2dc6467b5d
[FIR] Modify signatures also from ERASED_COLLECTION_PARAMETER_SIGNATURES
...
In this commit we change value parameter type of containsAll, removeAll,
retainAll from Java collections. Originally it's Collection<?>,
we change it to Collection<T>
#KT-42340 Fixed
2020-10-28 18:09:11 +03:00
Jinseong Jeon
707e94bab5
FIR2IR: add test about coercion-to-Unit for nested when
2020-10-28 15:44:41 +03:00
Denis Zharkov
2bdb21793f
FIR: Adjust test data
2020-10-28 11:43:25 +03:00
Mikhail Glukhikh
09043fb98d
[FIR] JvmMappedScope: add mutable methods or not depending on a class
2020-10-27 10:27:06 +03:00
Mikhail Glukhikh
d3e85dbce0
[FIR] Implement replacing Object with type parameters for specials builtins
...
#KT-42601 Fixed
2020-10-23 08:12:15 +03:00
Mikhail Glukhikh
23e7468e57
[FIR2IR] Cache Java field-based properties more correctly #KT-42805 Fixed
...
Before this commit, we cached such IR properties by FIR property
which was created by Java field each time when we referenced it.
This led to signature clashes. Now we cache such IR properties
directly by associated FIR field.
2020-10-22 13:05:00 +03:00
Mikhail Glukhikh
3576cbf0d8
[FIR] Add test for KT-42805
2020-10-22 13:04:59 +03:00
Mikhail Glukhikh
f2c651ec9c
[FIR2IR] Don't generate Any delegated members for data class
...
#KT-42771 Fixed
2020-10-22 13:04:59 +03:00
Mikhail Glukhikh
44459e8ac7
FIR mangler: fix alias-based type handling #KT-42770 Fixed
2020-10-22 13:04:58 +03:00
Dmitry Petrov
47c784f023
JVM_IR fix Java wildcard types translation
...
Types such as 'Collection<? extends CharSequence>' are treated as
'(kotlin.collections.MutableCollection<out kotlin.CharSequence!>
..kotlin.collections.Collection<kotlin.CharSequence!>?)'
by the front-end.
When generating generic signatures, JVM BE takes lower bound (which is
'kotlin.collections.MutableCollection<out kotlin.CharSequence!>').
Emulate this behavior in TypeTranslator.
2020-10-19 20:52:53 +03:00
Alexander Udalov
45a0850d95
Fix KotlinType.isNullabilityFlexible for types based on type parameters
...
In the compiler, this function was used in psi2ir (and it affected
nullability annotations in the resulting JVM class files), in "useless
elvis with null on the right side" diagnostic checker, and in light
classes.
#KT-42650 Fixed
2020-10-14 19:32:51 +02:00
Mikhail Glukhikh
babc7845af
FirSyntheticPropertiesScope: support case with derived getter
...
#KT-42496 Fixed
2020-10-14 16:33:44 +03:00
Mikhail Glukhikh
aa4a042612
[FIR2IR] Use deepest matching symbol also for synthetic properties
...
#KT-42359 Fixed
2020-10-07 10:43:43 +03:00
Mikhail Glukhikh
fb4f27e136
[FIR2IR] Add test for problematic KT-42359
2020-10-07 10:43:38 +03:00
Mikhail Glukhikh
3cd552cb43
[FIR2IR] Process anonymous object nested classes correctly
...
#KT-42373 Fixed
2020-10-05 12:06:53 +03:00
Mikhail Glukhikh
582f8fe287
FIR: recursive transform annotation if it has annotation as argument
...
#KT-42344 Fixed
2020-10-02 08:57:49 +03:00
Denis Zharkov
5c9187b270
FIR2IR: Rework fake overrides generation
...
- To discriminate what's already been generated, use the set of declaration
instead of names (it's obviously more correct)
- Make it possible to set more then one overridden (base)
2020-10-01 17:49:02 +03:00
Dmitriy Novozhilov
4ef57c120f
[FIR] Consider variance of type parameters during java type enhancement
...
#KT-41940 Fixed
2020-09-24 15:43:20 +03:00
Mikhail Glukhikh
4653a16450
[FIR2IR] Add problematic test with in/out clash during approximation
2020-09-23 09:01:45 +03:00
Mikhail Glukhikh
e4aaae9ae7
FIR call completion: approximate type argument types
...
This commit removes some captured / ILT types at the end of resolve
2020-09-14 18:08:28 +03:00
Mikhail Glukhikh
cf5480a398
[FIR] Questionable test data fixes (around captured types)
2020-09-14 18:08:26 +03:00
Mikhail Glukhikh
414842343d
[FIR2IR] Add another problematic test with captured type argument
2020-09-14 17:56:32 +03:00
Mikhail Glukhikh
267382d86b
[FIR2IR] Add problematic test with incorrect type argument
...
NB: we should not have <E> as AbstractFirBasedSymbol type argument,
because it isn't accessible in the current scope. Star expected instead.
2020-09-14 17:56:30 +03:00
Jinseong Jeon
89ffce22d8
FIR2IR: set proper IR origin for variable as function
2020-09-14 09:05:08 +03:00
Mikhail Glukhikh
548adc29d0
[FIR] Enter loops in resolve using independent context
2020-09-03 14:24:31 +03:00
Dmitry Petrov
8cb8284957
EnhancedNullability annotation in IR
...
Fixes KT-40115 & KT-40117.
Move FlexibleNullability annotation to 'kotlin.internal.ir'.
2020-09-01 16:06:03 +03:00
Mikhail Glukhikh
5efabe063e
[FIR] Fix JVM mapped function callable id
2020-08-31 14:31:57 +03:00
Mikhail Glukhikh
5ad453d927
[FIR] Substitute copied type parameters in fake override functions
2020-08-31 14:31:57 +03:00
Mikhail Glukhikh
85c1505689
[FIR2IR] Copy type parameters for trivial fake overrides
2020-08-20 16:04:02 +03:00
Mikhail Glukhikh
828524bde4
[FIR2IR] Fix conversion of default vararg arguments for annotations
2020-07-24 19:47:27 +03:00
Mikhail Glukhikh
2b52988f1b
[FIR TEST] Add failing BB test with Deprecated annotation
2020-07-24 19:47:19 +03:00