Mikhail Glukhikh
111e67dc8d
Use DECLARATION_NAME strategy for FirErrors.PRIMARY_CONSTRUCTOR_REQUIRED
2021-03-11 13:25:52 +03:00
Tianyu Geng
6e8bad6ef6
FIR: Implement data class constructor checker
2021-03-11 13:25:51 +03:00
Dmitriy Novozhilov
dceb8b2991
[FIR] Don't render ! at the end of ConeFlexibleType
2021-03-11 13:10:05 +03:00
Dmitriy Novozhilov
932eed2c14
[FIR] Fix determining nullability of arguments during enhancement
2021-03-11 13:10:05 +03:00
Dmitriy Novozhilov
65ea4e184a
[FIR] Fix enhancement of FlexibleNullability and EnhancedNullability
...
- Add utilities to add new attribute to ConeAttributes
- Get rid of FlexibleNullability attribute (it can be easily inferred
for any flexible type at any moment)
- Fix determining of EnhancedNullability attribute
2021-03-11 13:10:04 +03:00
Jinseong Jeon
6427117a35
FIR CFG: correct edge label from a node that returns Nothing
...
If it's not within a try/catch/finally, that should be an uncaught
exception path.
^KT-45327 Fixed
2021-03-09 14:44:42 +03:00
Mikhail Glukhikh
15c3269e38
FIR: don't report error on inline nested classes
2021-03-06 09:22:35 +03:00
Mikhail Glukhikh
1e4d7ff690
Fix LightTreePositioningStrategies.DECLARATION_NAME
2021-03-06 09:22:35 +03:00
eugenpolytechnic
f6e564ffa6
FIR: introduce inline classes checks
2021-03-06 09:22:34 +03:00
Jinseong Jeon
e009b71f88
FIR checker: report uninitialized member/extension properties
2021-03-04 17:56:29 +03:00
Dmitriy Novozhilov
a6d1d47918
[FIR] Fix clearing info about DF variable after reassignment
2021-03-04 17:09:17 +03:00
Mikhail Glukhikh
6470b713d5
FIR: set isConst on primary constructor properties
2021-03-04 16:13:50 +03:00
Mikhail Glukhikh
d7a6fc80b0
FIR: don't report CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT on variables
2021-03-04 16:13:50 +03:00
Br0mm
dd3bc1a964
FIR: Introduce CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT diagnostic
2021-03-04 16:13:50 +03:00
Jinseong Jeon
f1fa290d49
FIR checker: report val reassignment
2021-03-03 12:27:11 +03:00
Mikhail Glukhikh
6fee46316e
FIR: fix MANY_COMPANION_OBJECTS positioning
2021-03-01 16:57:55 +03:00
Tianyu Geng
724ca1d3ee
FIR: introduce diagnostic NESTED_CLASS_NOT_ALLOWED
2021-03-01 16:57:54 +03:00
Mikhail Glukhikh
5568ceef68
Add test for KT-37056 (already fixed)
2021-02-20 11:37:34 +03:00
Mikhail Glukhikh
1a0be3ee40
Fix FirAnnotationArgumentChecker (String + ... case) #KT-44995 Fixed
2021-02-20 10:31:26 +03:00
Dmitriy Novozhilov
1c0d862e40
[FIR] Don't smartcast variables to invisible types
...
#KT-44802 Fixed
2021-02-20 10:23:33 +03:00
Mikhail Glukhikh
7c080395f2
FIR: minor test data fixes
2021-02-19 18:24:49 +03:00
Mikhail Glukhikh
239a44b30c
FIR: forbid reporting inapplicable-likes on implicit constructors
2021-02-19 18:24:46 +03:00
Mikhail Glukhikh
34c90aab3b
FIR: introduce & use REFERENCE_BY_QUALIFIER positioning strategy
2021-02-19 18:24:46 +03:00
Dmitriy Novozhilov
d40777c28f
[FIR] Fix calculating arguments of bare type with intersection type as base
2021-02-19 16:23:24 +03:00
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
a841a0bbca
FIR: transform other parts of function call even though callee is an error
2021-02-19 10:17:16 +03:00
Dmitriy Novozhilov
9b4949a3c5
[FIR] Fix taking symbol of expression with smartcast inside DFA
2021-02-18 10:10:38 +03:00
Mark Punzalan
2f450549ab
FIR IDE: Update FIR diagnostic test data for
...
INAPPLICABLE_LATEINIT_MODIFIER.
2021-02-15 19:37:14 +01: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
671ebc6819
[FIR] Fix detecting that if in then branch of outer if used as expression
2021-02-10 14:17:38 +03:00
Jinseong Jeon
bd37badf29
FIR checker: add diagnostics for backing fields
2021-02-10 12:29:34 +03:00
Dmitriy Novozhilov
6dd331d7e8
[FIR] Add tests for non exhaustive when as last expression of lambda
...
KT-44810
2021-02-09 16:04:42 +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
11ab37160e
[FIR] Save info that when was used as expression
2021-02-09 16:04:39 +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
Dmitriy Novozhilov
2b088f1147
[FIR] Fix generating data class if there is non-property in primary constructor
...
#KT-44554 Fixed
2021-02-09 15:20:34 +03:00
Mikhail Glukhikh
d4b0688690
FIR: introduce delegate field initializers
...
Before this commit we initialized delegate fields in primary constructor,
that could provoke NPE in case delegate is used in initializer of
some property backing field.
Now we initialize delegate fields directly instead.
2021-02-08 14:28:27 +03:00
Jinseong Jeon
37a702b962
FIR: coerce to Unit when a lambda has early returns
...
^KT-39075 Fixed
2021-02-08 13:01:12 +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
eugenpolytechnic
a564f92eef
FIR: introduce ThrowableSubclassChecker
2021-02-05 09:22:12 +03:00
Dmitriy Novozhilov
ebced14db2
[FIR] Implement suppressing diagnostics with @Suppress
2021-02-03 18:10:48 +03:00
Jinseong Jeon
4ef1e1119f
FIR LT: introduce positioning strategies for specific modifiers
2021-02-03 12:07:35 +03:00
eugenpolytechnic
9ad88a5a0d
FIR: introduce parameter type is Throwable check
2021-02-01 15:07:21 +03:00
eugenpolytechnic
5c0231b727
FIR: introduce CatchParameterChecker
2021-02-01 15:07:13 +03:00
Mikhail Glukhikh
7d4eaefd36
FIR: report UNSAFE_CALL on dot when possible
2021-01-29 16:55:26 +03:00