Mikhail Glukhikh
357a7907a3
FIR: fix type approximation by visibility
2021-02-19 10:39:57 +03:00
Tianyu Geng
6b453d9b23
FIR: implement checker for open members
...
Specifically,
1. NON_FINAL_MEMBER_IN_FINAL_CLASS
2. NON_FINAL_MEMBER_IN_OBJECT
2021-02-19 10:17:18 +03:00
Mikhail Glukhikh
3e9ff3ecda
FIR: report SUPERTYPE_NOT_A_CLASS_OR_INTERFACE on type parameters
2021-02-19 10:17:17 +03:00
Jinseong Jeon
5f9357eb41
FIR: transform implicit type ref in anonymous function arguments & body
...
^KT-45010 Fixed
2021-02-19 10:17:16 +03:00
Jinseong Jeon
27c942a0ff
FIR: enforce the return type of function literals without body
...
Its return type should be Unit, so do not use the expected type from,
e.g., parameter type.
2021-02-19 10:17:16 +03:00
Hyojae Kim
82ac482143
Fix typo ( #4051 )
...
Fix typo
2021-02-18 12:28:19 +03:00
Dmitriy Novozhilov
df42868874
[Inference] Fix subtyping on classes with same FQN but with different number of arguments
...
Such situations may appear if there are multiple classes with same
names from different modules in dependencies
2021-02-17 16:23:08 +03:00
Dmitriy Novozhilov
373bc578fb
[FIR] Implement capturing of cone types same as for kotlin types
2021-02-17 16:23:08 +03:00
Dmitriy Novozhilov
5ce36a528e
[FE] Prohibit sealed fun interfaces
...
#KT-44947 Fixed
2021-02-17 13:54:10 +03:00
Dmitriy Novozhilov
cdf7de5524
[FE] Change message for sealed interfaces with language target < 1.5
2021-02-17 13:51:14 +03:00
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
pyos
2dc0404751
FIR: prioritize visible imported classes during type resolution
...
and produce an error on ambiguity.
2021-02-16 12:38:45 +03:00
Mark Punzalan
2f450549ab
FIR IDE: Update FIR diagnostic test data for
...
INAPPLICABLE_LATEINIT_MODIFIER.
2021-02-15 19:37:14 +01:00
Alexander Udalov
899f75466d
Remove tests on kotlin-annotations-android
...
#KT-44815
2021-02-15 17:23:44 +01:00
Jinseong Jeon
a884555171
FIR: bail out early for override check if base candidate is private
2021-02-15 19:16:36 +03:00
Jinseong Jeon
09640d9d63
FIR checker: apply override checker to anonymous objects
...
^KT-44695 Fixed
2021-02-15 19:16:35 +03:00
Jinseong Jeon
9370f918e9
FIR: use override checker when populating directOverriddenProperties
2021-02-15 19:16:35 +03:00
Victor Petukhov
fa1507fb91
Fix FIR test lambdaParameterTypeInElvis
2021-02-15 18:51:51 +03:00
Victor Petukhov
dcad9c84fc
Don't fix type variables into Nothing in priority way
...
^KT-44546 Fixed
2021-02-15 15:12:45 +03:00
Victor Petukhov
c0759f96e9
Fix FIR test lambdaParameterTypeInElvis
2021-02-15 12:59:07 +03:00
Victor Petukhov
0d40022d6d
Add reporting of the warnings based on Java annotations for expanded type aliases
...
Before that, such warnings weren't reported as the corresponding errors were reported during type inference (only original types took part there)
2021-02-15 12:13:55 +03:00
Victor Petukhov
d783d99443
Use upper bound checker for typealias expansion
2021-02-15 12:13:53 +03:00
Victor Petukhov
edb8007d52
Add test for errors reporting of UPPER_BOUND_VIOLATED
2021-02-15 12:13:52 +03:00
Victor Petukhov
befe8599c4
Report warnings or errors for violated type parameter's upper bounds from Java annotated with nullability annotations
...
^KT-43262 Fixed
2021-02-15 12:13:50 +03:00
Dmitriy Novozhilov
5711a8d610
[FIR] Support PreliminaryLoopVisitor in FIR DFA
2021-02-15 11:37:39 +03:00
Victor Petukhov
6f64fd2fec
Propagate inference session into declaration analyzers
...
It prevents missing inference session for local declaration (local functions, local classes or objects)
^KT-44801 Fixed
2021-02-15 11:12:58 +03:00
Dmitriy Novozhilov
2d5b685535
[FIR] Fix processing constructors of sealed classes
...
- Allow declaring protected constructors in sealed classes
- Make default visibility of sealed class constructor `protected`
KT-44861
KT-44865
2021-02-12 13:36:41 +03:00
Dmitriy Novozhilov
7c61ddc72b
[FE] Allow declaring protected constructors in sealed classes
...
#KT-44865 Fixed
2021-02-12 13:36:39 +03:00
Dmitriy Novozhilov
f3a8fcaea6
[FE] Make constructors of sealed classes protected instead of internal
2021-02-12 13:36:38 +03:00
Jinseong Jeon
20f9787c70
FIR checker: report errors in contract description
2021-02-11 17:02:18 +03:00
Jinseong Jeon
9b1f01ab04
FIR checker: differentiate unsafe infix/operator calls from UNSAFE_CALL
2021-02-10 17:38:45 +03:00
Jinseong Jeon
5e150d62ea
FIR checker: differentiate UNSAFE_IMPLICIT_INVOKE_CALL from UNSAFE_CALL
2021-02-10 17:38:44 +03:00
Dmitriy Novozhilov
0c0c53cc2e
[FE] Don't analyze members with CLASSIFIERS kind filter in AbstractLazyMemberScope
...
This commit introduces partial support of descriptorKindFilter in
`AbstractPsiBasedDeclarationProvider`. Without it there may be an error
in following case:
```
sealed class Base
class Derived : Base()
class Test<out V>(val x: Base) {
private val y = when (x) {
is Derived -> null
}
}
```
Here we start to resolve type of `y`, then go to computation of inheritors
of sealed class Base, which also may be inside Test, so we need get all
nested classifiers in Test. But without this filtration we will start
computing descriptor for `y` again, which leads to ReenteringLazyComputationException
#KT-44316 Fixed
2021-02-10 16:56:49 +03:00
Jinseong Jeon
bd37badf29
FIR checker: add diagnostics for backing fields
2021-02-10 12:29:34 +03:00
Dmitriy Novozhilov
18bde2c542
[FIR] Reimplement when exhaustiveness checker to fir it's logic with FE 1.0
2021-02-09 16:04:41 +03:00
Dmitriy Novozhilov
8dd9d98129
[FIR] Implement checker for exhaustive when's in expression position
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
490ef210ac
[FIR] Support sealed class inheritors in multiple files
2021-02-09 16:04:39 +03:00
Dmitriy Novozhilov
9724d81a49
[FIR] Support boolean elvis bound smartcasts
...
#KT-44511 Fixed
2021-02-09 15:20:36 +03:00
Mikhail Glukhikh
1c210c2386
FIR: fix of super.methodOfAny resolve in case of one supertype
2021-02-08 14:28:25 +03:00
Jinseong Jeon
83e3201677
FIR DFA: correct exit node retrieval when a safe call is the last expression
...
^KT-44699 Fixed
2021-02-08 13:01:11 +03:00
Jinseong Jeon
266432a482
FIR checker: fix condition for property type mismatch on override
2021-02-08 13:01:11 +03:00
Jinseong Jeon
065d0c66ab
FIR checker: reproduce a false alarm on type mismatch of overridden property
2021-02-08 13:01:11 +03:00
Victor Petukhov
f9e5584a3e
Report error about uninferred type parameter for all CallForImplicitInvoke psi calls
...
^KT-44368 Fixed
2021-02-08 10:40:18 +03:00
eugenpolytechnic
a564f92eef
FIR: introduce ThrowableSubclassChecker
2021-02-05 09:22:12 +03:00
Denis.Zharkov
d901ceb734
FIR: Fix loading Java annotations with Class[]-typed methods
2021-02-03 15:05:22 +03:00
Denis.Zharkov
8712772a5f
FIR: Add test for type resolution when referenced nested class from supertypes
2021-02-03 15:05:22 +03:00
Denis.Zharkov
e7669ef9d6
FIR: Fix builder inference case with independent calls inside lambda
2021-02-03 15:05:21 +03:00
Denis.Zharkov
173a852273
FIR: Fix uninitialized lateinit FirSymbol::symbol for supertype of Java class
...
Earlier, isForSupertypes has been mapped to different boolean parameter
2021-02-03 15:05:21 +03:00
Jinseong Jeon
ca314c5bb9
FIR checker: add diagnostic CANNOT_WEAKEN_ACCESS_PRIVILEGE
2021-02-03 12:07:36 +03:00
Jinseong Jeon
3a07ca4c64
FIR checker: add diagnostic VAR_OVERRIDDEN_BY_VAL
2021-02-03 12:07:36 +03:00