Dmitriy Novozhilov
823cbc59b7
[FIR] Split FirAnonymousFunction to expression and declaration
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
85b844c748
[FIR] Split FirAnonymousObject to expression and declaration
2021-06-29 21:03:27 +03:00
Victor Petukhov
ad89d43186
Prevent recursion on captured recursive type parameters of inner classes during computing bound for them
...
^KT-47459 Fixed
2021-06-29 20:53:54 +03:00
Victor Petukhov
e071281b20
Prevent recursion on erasion of raw types with interdependent type parameters
...
^KT-47480 Fixed
2021-06-29 20:53:52 +03:00
Dmitry Petrov
68c3f30aa7
JVM_IR KT-47510 indy callee parent is a package fragment, not a class
2021-06-29 17:00:31 +03:00
Tianyu Geng
2e049c1208
FIR DFA: fix CFG with normal arg after lambda [KT-46825]
...
The fix is a bit hacky, but it's very simple. In addition, it still does
not handle the case where the receiver is a lambda function. But such
case seems to be fairly rare in practice.
2021-06-29 10:46:41 +03:00
Tianyu Geng
b78b50e1f8
FIR DFA: workaround KT-46826
2021-06-29 10:46:40 +03:00
Tianyu Geng
0ecc752813
FIR checker: report SMARTCAST_IMPOSSIBLE for local variables
2021-06-29 10:46:38 +03:00
Ivan Kochurkin
e295849733
[FIR] Refactor FirSupertypesChecker: split big function on small ones
2021-06-29 02:00:11 +03:00
Ivan Kochurkin
fb9ce06ff5
[FIR] Implement DELEGATION_NOT_TO_INTERFACE
2021-06-29 02:00:11 +03:00
Ivan Kochurkin
c3a6ba52f6
[FIR] Implement CLASS_CANNOT_BE_EXTENDED_DIRECTLY
2021-06-29 02:00:10 +03:00
Ivan Kochurkin
92d7a61b4f
[FIR] Implement INCONSISTENT_TYPE_PARAMETER_VALUES, INCONSISTENT_TYPE_PARAMETER_BOUNDS
2021-06-29 02:00:09 +03:00
Ivan Kochurkin
ec20f52707
[FIR] Implement EXPANDED_TYPE_CANNOT_BE_INHERITED, PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE
...
Add `starAsModifier` to `modifierSetPosition`
2021-06-29 02:00:08 +03:00
Ivan Kochurkin
937846b62d
[FIR] Implement TYPEALIAS_SHOULD_EXPAND_TO_CLASS
2021-06-29 02:00:06 +03:00
Ivan Kochurkin
e8a790993b
[FIR] Add ConeUnsupportedDynamicType
2021-06-29 02:00:03 +03:00
Denis.Zharkov
0ec693db89
Fix parsing regression related to T!!
...
^KT-47445 Fixed
2021-06-28 21:48:13 +03:00
Dmitry Petrov
768afc5ba4
JVM_IR KT-47492 fix 'for' loop generation
2021-06-28 21:07:54 +03:00
Roman Artemev
6993b86d3b
[IR] Fix IrCapturedType equals/hashCode
...
It could lead to SOE if CT has itself as superType
- fix KT-47424
2021-06-28 20:43:14 +03:00
Igor Yakovlev
cd0ea7f7f7
[FIR] Add explicit types to needReplacePhase transformers methods
2021-06-28 17:21:43 +03:00
Igor Yakovlev
30c381f16d
[FIR] Fix invalid CallableId for methods in anonymous objects
2021-06-28 17:21:42 +03:00
Dmitry Petrov
560c269e05
PSI2IR KT-47450 prevent SOE when generating IR for deep expressions
2021-06-28 15:41:41 +03:00
Mikhael Bogdanov
5f62b72c82
Properly process big types
2021-06-26 06:10:16 +02:00
Mikhael Bogdanov
0fd1f549a9
Properly process special symbols during indy-with-constants concatenation
...
#KT-47320 Fixed
2021-06-26 06:10:16 +02:00
Ivan Kochurkin
568eb255f5
[FIR] Split UpperBoundViolated checkers on two files (expression and declaration), add FirUpperBoundViolatedHelpers
2021-06-25 20:57:48 +03:00
Ivan Kochurkin
a26ffde820
[FIR] Correct support of projections and type aliases for UPPER_BOUND_VIOLATED, extend tests
2021-06-25 20:57:47 +03:00
Ivan Kochurkin
66e2b44272
[FIR] Implement UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION diagnostics, fix handling of UPPER_BOUND_VIOLATED
2021-06-25 20:57:46 +03:00
Ivan Kochurkin
5741374883
[FIR] Report UPPER_BOUND_VIOLATED only on checkers stage, fix detection of missing cases and testData
2021-06-25 20:57:45 +03:00
Ivan Kochurkin
ada14413e0
[FIR] Fix location of UPPER_BOUND_VIOLATED, fix detecting of several diagnostics, simplify FirUpperBoundViolatedChecker.kt
2021-06-25 20:57:44 +03:00
Dmitry Petrov
1298ba431b
JVM_IR KT-47449 handle star projection arguments in default lambda types
2021-06-25 20:42:22 +03:00
Denis.Zharkov
7645663d12
Deprecate (V)::a reference resolution to companion in FE 1.0
...
^KT-45315 Fixed
2021-06-25 18:41:14 +03:00
Denis.Zharkov
46b297477c
Deprecate ambiguous cases in FE 1.0: companion property vs enum entry
...
^KT-37591 Fixed
2021-06-25 18:41:12 +03:00
Dmitriy Novozhilov
24bb9a4e14
Approximate expected type before reporting INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
...
^KT-47447 Fixed
2021-06-25 18:39:01 +03:00
Dmitriy Novozhilov
05883afc0a
Deprecate simplification of complex boolean constant expressions in whens and loops
...
^KT-39883 In Progress
2021-06-25 16:37:35 +03:00
Dmitriy Novozhilov
8a2e0cedf9
Add test for exhaustive when with subject of Boolean! type
2021-06-25 16:37:34 +03:00
Dmitriy Novozhilov
09994ee8ea
[FIR] Make type of safe call always nullable
...
^KT-46860 In Progress
2021-06-25 16:37:32 +03:00
Dmitriy Novozhilov
f18e38a49f
[FIR] Properly setup source element for FirSafeCallExpression
2021-06-25 16:37:31 +03:00
Dmitriy Novozhilov
26b9948e5f
[FE 1.0] Make type of safe call always nullable
...
^KT-46860 In Progress
2021-06-25 16:37:30 +03:00
Dmitriy Novozhilov
9116c341ba
[FIR] Fix detecting selector for safe calls in light tree
2021-06-25 16:37:27 +03:00
Tianyu Geng
84f8d4d315
FIR IDE: handle reference to package and outer classes
...
For a qualified name like `foo.bar.Outer.Inner`, FIR represents it as
one atomic FIR element. Hence, to properly resolve these names to the
corresponding package and class, we need some additional work.
2021-06-24 18:27:51 +02:00
Tianyu Geng
a537074e1e
FIR: add a boolean tracking if a class ref resolves to the companion object
2021-06-24 18:27:50 +02:00
Tianyu Geng
63c65edda2
FIR IDE: AddWhenRemainingBranchFix
...
The fix reuses logic that is already available from
FirWhenExhaustivenessTransformer to collect missing when branches. The
current logic unfortunately uses hackyAllowRunningOnEdt to shorten the
generated code.
2021-06-24 18:26:18 +02:00
Tianyu Geng
6ec247b861
FIR: accept when(nothing) {} as exhaustive
...
FE1.0 accepts this but FIR current rejects it.
2021-06-24 18:26:17 +02:00
pyos
26e3237b8c
JVM_IR: never rename public/protected fields
...
And if that causes a platform declaration clash, that's not a problem
that can be solved without breaking the ABI anyway.
#KT-47412 Fixed
2021-06-24 17:41:06 +03:00
Denis.Zharkov
c8c558b575
FIR: Use Any? expect type to the argument list of ==
...
^KT-47409 Related
2021-06-24 12:17:46 +03:00
Denis.Zharkov
4892ad42b9
FIR: Do not mark not found classes' based types from Java as error
...
The same happens in FE1.0
2021-06-24 12:17:45 +03:00
Denis.Zharkov
201dded237
FIR: Fix serialization of delegated members
...
^KT-47413 Relates
2021-06-24 12:17:43 +03:00
Dmitry Petrov
0104b1275f
JVM_IR KT-47398 handle @EnhancedNullability String subject as in 1.0
2021-06-23 20:11:24 +03:00
Dmitry Petrov
c26d71c4ef
JVM KT-47365 add box test
2021-06-23 20:11:23 +03:00
Dmitry Petrov
c77884f067
Refactor SAM type handling, replace non-approximated arguments with *
2021-06-22 21:13:56 +03:00
Victor Petukhov
4aeabb6b0f
Use upper bound aware type approximator for intersection types inside sam types in contravariant positions to build proper types in terms of subtyping
2021-06-22 21:13:55 +03:00