Anton Bannykh
9462131014
JS IR: fix offsets in BlockDecompositionLowering
2021-06-27 22:56:33 +03:00
Anton Bannykh
600099585d
IR: refactor IdSignatureSerializer
...
Use a separate instance for each file.
2021-06-27 22:56:33 +03:00
Dmitriy Novozhilov
a8501bcef5
[FE 1.0] Fix message of INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning
...
^KT-47446 Fixed
2021-06-26 13:46:27 +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
Zalim Bashorov
e947556aaa
[IR] Use separate directories for each module for IR dumps
...
It allows avoiding overwriting content generated for other modules.
Also, added using additional ".kt" prefix to file extension for dumps generated with Kotlin like syntax.
2021-06-26 01:38:04 +03: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
Yahor Berdnikau
430306b23d
Change 'jvmTarget' backing property visibility to internal.
...
Allows to check if this property was updated by the user or not.
^KT-45611 In Progress
^KT-43095 In Progress
2021-06-25 16:28:54 +00: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
805fad980f
[FIR] Fix creating DEBUG_CALL_INFO for safe calls
2021-06-25 16:37:29 +03:00
Dmitriy Novozhilov
9116c341ba
[FIR] Fix detecting selector for safe calls in light tree
2021-06-25 16:37:27 +03:00
Anton Bannykh
1006eb0945
IR: fix offsets in constant folding lowering
2021-06-25 00:59:28 +03:00
Anton Bannykh
9d1a8b2d58
IR: fill type parameters in inline class static method delegation call
2021-06-25 00:59:27 +03:00
Anton Bannykh
61a08be6b4
JS IR: don't rename the local declarations
...
IR2JS handles clashing declarations anyway.
2021-06-25 00:59:25 +03:00
Anton Bannykh
a56cc89010
JS IR: fill enum constructor call type parameters
2021-06-25 00:59:24 +03:00
Anton Bannykh
eb0c13793b
JS IR: introduce 'lower per module' mode
...
This mode is closer to how IC supposed to work - reusing work
from dependencies, not re-lowering them.
2021-06-25 00:59:23 +03:00
Anton Bannykh
a4cb70af31
JS IR: gather statement origins in one place
...
Preparing to serialize lowered IR
2021-06-25 00:59:22 +03:00
Anton Bannykh
1b2f4ad071
dumpKotlinLike: add a flag to treat else as true
...
Deserialized IR always has `true` instead of `else` branch.
Dumping `else` as `true` helps comparing regular and serialized IR.
2021-06-25 00:59:20 +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
pyos
88320cbb05
JVM_IR: produce collection stubs in a stable order
...
This means not storing intermediate results in any HashSets.
#KT-47411 Fixed
2021-06-24 14:47:49 +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
Ilya Kirillov
8ac2a48eaf
Allow specify path of compiler extension points for ide tests
2021-06-23 20:36:20 +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
Ilmir Usmanov
435b522cc5
Minor. Unmute test
2021-06-23 11:18:25 +02:00
pyos
537ce05bc9
JVM_IR: assume function reference adapters are tail-call
...
Meaning, they never need continuation objects. This shouldn't affect
correctness (if the assumption is valid, the continuation object
should always have been removed in the end), but the phantom
continuation sometimes left behind unused accessors (and in case of
inline function references, those accessors would refer to non-existent
functions) - see the modified test and Kotlin/kotlinx.coroutines#2769 .
2021-06-23 11:18:25 +02:00
Andrey Uskov
92b08dfcfb
Revert "Unify the way to set compiler options using System.properties"
...
This reverts commit 28e4e775
2021-06-23 11:34:04 +03:00
Dmitry Petrov
f30fc4863c
JVM add ABI tests for non-approximated SAM types
...
Note that resulting SAM method
public final method accept(p0: java.lang.Object): void
has a signature less specific than the resulting bridge method
public synthetic bridge method accept(p0: X): void
2021-06-22 21:13:57 +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
Victor Petukhov
6a78e0a10c
Introduce type parameter's upper bound aware type approximator for intersection types
2021-06-22 21:13:54 +03:00
Victor Petukhov
750f327878
Use receivers from candidate as a fallback during completion of callable references
...
^KT-45083 Fixed
2021-06-22 21:13:53 +03:00