Tianyu Geng
94de193993
FIR: introduce VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION check
...
Besides adding VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION,
we remove here NO_TYPE_FOR_TYPE_PARAMETER since it doesn't exist in FE1.0.
The name also doesn't make much sense.
From the usage it looks like it should have been
VALUE_PARAMETER_WITH_NO_TYPE_ANNOTATION instead.
2021-03-17 15:04:43 +03:00
Mark Punzalan
315047b164
FIR checker: Make FirJvmExternalDeclarationChecker a
...
FirMemberDeclarationChecker.
Set isExternal in status for FirRegularClass. Invoke member declaration
checkers for FirRegularClass.
2021-03-17 10:45:26 +01:00
Mark Punzalan
c3d2ce0c1f
FIR checker/IDE: Add checker and quickfix for WRONG_MODIFIER_TARGET.
...
There are only simple checks for `external` and `const` for now. The
rest of the checks (see ModifiersChecker in FE1.0) will be added later.
2021-03-17 10:45:26 +01:00
Ilmir Usmanov
a90a5f6dd4
Check for backend when checking for suspend in fun interfaces
2021-03-16 22:37:44 +01:00
Jinseong Jeon
4c08d10cce
FIR checker: report expression of nullable type parameter as LHS of class literals
2021-03-16 21:56:10 +03:00
Jinseong Jeon
7fff4108b6
FIR checker: report KClass with incorrect type argument
2021-03-16 21:56:10 +03:00
Jinseong Jeon
bc2228d434
FIR checker: don't report errors on type parameter as LHS of class literals
...
If a type paramter is not reified or nullable, different errors will
be reported by FirGetClassCallChecker.
When determining whether type parameter wrapped in qualified access is a
standalone expression or not, we examine whether the checker context has
other qualified accesses in stack. Class literals (::class) is desugared
to FirGetClassCall, and thus not stacked as qualified access. Since
class literals are a special type of callable reference (a subtype of
qualified access), we should keep track of FirGetClassCall in a similar
way.
2021-03-16 21:56:09 +03:00
Jinseong Jeon
e29b40b07f
FIR checker: report TYPE_PARAMETER_AS_REIFIED
2021-03-16 21:56:09 +03:00
Jinseong Jeon
5ba5b63dee
FIR checker: report nullable expression as LHS of class literals
2021-03-16 21:56:09 +03:00
Jinseong Jeon
33c5b49632
FIR checker: report non-typed LHS of callable references
2021-03-16 21:56:08 +03:00
Jinseong Jeon
922419efb8
FIR CFG: route to exit of try main for throw in try main
...
to make the remaining part of try main marked as dead.
^KT-45475 Fixed
2021-03-16 15:11:56 +03:00
Jinseong Jeon
7e5b562b33
Reproduce KT-45475: no smartcast after conditional throw in try expression
2021-03-16 15:11:53 +03:00
Dmitriy Novozhilov
cef859fced
Fix exponential pseudocode size on incorrect prefix increments and decrements
...
#KT-44153 Fixed
2021-03-16 12:25:23 +03:00
Jinseong Jeon
8dce6f2ac9
FIR CFG: don't propagate deadness on the uncaught exception path
2021-03-15 15:54:22 +03:00
Jinseong Jeon
d27ecca0e9
FIR CFA: keep UncaughtExceptionPath separated
2021-03-15 15:54:21 +03:00
Mikhail Glukhikh
c641fa739b
FIR: provide 'replaceSource' only for FirQualifiedAccess inheritors
2021-03-15 15:33:38 +03:00
Dmitriy Novozhilov
631b771251
[FIR] Report proper resolution diagnostics from arguments checks
2021-03-15 12:13:08 +03:00
Dmitriy Novozhilov
6cc3fff48d
[FIR] Properly handle that type variable is contained in inv or contravar positions
...
#KT-45344 Fixed
2021-03-15 12:13:07 +03:00
Ilmir Usmanov
64abb2501f
Minor. Add FIR_IDENTICAL directive
2021-03-15 06:19:22 +01:00
Mikhail Bogdanov
95654bb9bc
Deprecate @JvmDefault
...
#KT-40392 Fixed
(cherry picked from commit c11f38688e )
2021-03-13 08:24:17 +00:00
Ilmir Usmanov
d3b42709fd
Revert "Value Classes: Forbid var properties with value class receivers"
...
This reverts commit f43899086a .
2021-03-12 17:51:24 +01:00
Victor Petukhov
91d2f32a57
Don't lose upper non-expected type constraints to include them to intersection type during finding the result type of the fixing type variable
2021-03-12 14:36:54 +03:00
Victor Petukhov
b87c2a15b5
Don't stop constraints processing if all type variables have proper equality constraints
...
Those type variable may have other constraints after incorporation into which, the constraint error may appear
^KT-42042 Fixed
2021-03-12 14:36:54 +03:00
Victor Petukhov
7f7bb70596
Don't fix a type variable into the intersection type if there is an explicit expected type
...
^KT-43303 Fixed
^KT-42396 Fixed
^KT-42472 Fixed
2021-03-12 14:36:53 +03:00
pyos
e06bacafad
JVM: fix inline cycle detection
...
1. use the correct descriptor in the old backend;
2. clear the temporary variables for arguments in the IR backend.
#KT-45292 Fixed
2021-03-12 11:49:42 +01:00
Tianyu Geng
9476175cc2
FIR: add mapping to partially resolved arg list
...
Initially I tried adding `mapping` field to `FirArgumentList` but it
seems to be very difficult to make it flexible enough to do what I want.
So instead, I am creating a `FirPartialResolvedArgumentList`, which
seems to be very simple.
2021-03-11 22:57:58 +03:00
Tianyu Geng
be0dd84a06
FIR: check NAMED_ARGUMENTS_NOT_ALLOWED
...
The check has already been partially implemented in
org.jetbrains.kotlin.fir.resolve.calls.FirCallArgumentsProcessor. This
change completes the missing piece that determines if a `FirFunction`
has stable parameter names.
2021-03-11 22:57:57 +03:00
Jinseong Jeon
55561fad37
FIR CFG: correct target and label for rethrow in try expression
...
^KT-45385 Fixed
2021-03-11 16:19:16 +03:00
Jinseong Jeon
4f20d2dccf
Reproduce KT-45385: false positive MUST_BE_INITIALIZED_* after rethrow
2021-03-11 16:19:15 +03:00
Alexander Udalov
bc5fc122c5
JVM, JVM IR: report error if not all parts of multifile class are @JvmSynthetic
...
#KT-41884 Fixed
2021-03-11 13:33:25 +01:00
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
Jinseong Jeon
d2da15e039
FIR checker: report (expected|unnecessary) lateinit
2021-03-11 13:25:51 +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
Dmitriy Novozhilov
74118930b4
[FE] Don't fail with exception if ESVisitor tries to visit ESLambda
...
#KT-45243 Fixed
2021-03-11 00:58:24 +03:00
Alexander Udalov
bf844aa8e4
JVM IR: prevent behavior change with operator dot calls on literals
...
#KT-42321 Fixed
2021-03-10 18:46:30 +01: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
Jinseong Jeon
d8fb54c6bd
Reproduce KT-45327: false positive MUST_INITIALIZED_OR_BE_ABSTRACT after conditional exitProcess
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
eugenpolytechnic
f6e564ffa6
FIR: introduce inline classes checks
2021-03-06 09:22:34 +03:00
Ilya Gorbunov
9cc8f44390
Support mod and floorDiv extensions in constant evaluator
...
Ignore evaluation tests for floorDiv and mod with FIR for now.
2021-03-05 23:46:57 +03:00
Mikhael Bogdanov
8ff0b1e243
Reports warning on super calls in public-api inline functions
2021-03-05 18:45:07 +00:00
Jinseong Jeon
1090eca086
RAW FIR: record property accessors' own modality properly
2021-03-04 17:56:30 +03:00
Jinseong Jeon
e009b71f88
FIR checker: report uninitialized member/extension properties
2021-03-04 17:56:29 +03:00
Jinseong Jeon
e8028e7825
FIR checker: report nullable/non-class LHS of class literals
2021-03-04 17:09:52 +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
Tianyu Geng
89ce629352
FIR: report VARARG_OUTSIDE_PARENTHESES
2021-03-03 20:23:59 +03:00
Jinseong Jeon
f1fa290d49
FIR checker: report val reassignment
2021-03-03 12:27:11 +03:00