Jinseong Jeon
bc6693fa6e
FIR2IR: element-wise SAM conversion for vararg
2020-10-13 15:40:06 +03:00
Nikolay Krasko
5d394528f6
Fix double publication of javadoc in kotlin-osgi-bundle (KTI-356)
...
There's a common place with generating empty javadoc:
https://github.com/JetBrains/kotlin/blob/635ffcd53ba34f40cae5ef3c2be5529d654e8b26/libraries/pom.xml#L187
#KTI-356 Fixed
2020-10-13 15:16:14 +03:00
Dmitry Savvinov
e06ae01c0c
Restore nullability after type refinement along with annotations
...
See the issue for details
^KT-42546 Fixed
2020-10-13 13:48:43 +03:00
Ilya Kirillov
ee794f8664
FIR IDE: add check canceled between diagnostics
2020-10-13 12:03:06 +03:00
Pavel Kirpichenkov
9dd3d8fb14
[NI] Fix extension function check after commonization
...
`isExtensionFunction` property is false for suspend functions
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov
c53011dd04
[FIR] mute builder inference test
...
^KT-42591 Open
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov
39a87435ee
[FIR/NI] Refactor type variable gathering from lambda types
...
Motivation:
- drop getArguments from type context as a duplicate of getArgumentList
- reduce the number of collection allocations in getAllDeeplyRelatedTypeVariables
Additional minor improvements, test data fixes
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov
ef44077cb7
[FIR] Restore variable fixation direction in call completion
...
Several tests are affected by the usage of fixation direction calculator in FIR.
Restored to mimimize test data changes.
It is unnecessary in FE10 because a type variable with unknown type
is inferred into an error type, but affects test data in FIR where
Nothing/Any is selected by direction (as a temporary measure).
CR candidate in spec test is Unresolved in FIR because top-level CRs are resolved as call arguments.
Resolution ambiguity is also present in FE10 when CR is wrapped into an id call.
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov
712a2ce1ab
[FIR] Improved lambda completion: initial implementation
...
Repeat the logic of KotlinConstraintSystemCompleter in ConstraintSystemCompleter.
Implement additional context operations required for updated lambda completion algorithm.
2020-10-13 11:00:21 +03:00
Pavel Kirpichenkov
5eae6f2f4e
[FIR] Move PostponedArgumentInputTypesResolver to resolution.common
2020-10-13 11:00:20 +03:00
Pavel Kirpichenkov
3822a32fce
[FIR] Prepare commonization of PostponedArgumentInputTypesResolver
2020-10-13 11:00:20 +03:00
Victor Petukhov
0685beb765
NI: do substitution type variables during updating trace for lambda (these type variables can appear after the builder inference)
...
^KT-42450 Fixed
2020-10-13 10:21:55 +03:00
Alexander Udalov
e399b4cd12
JVM IR: minor, sort ElementType fields as in the old backend
...
In the old backend, targets are generated in the order of their
declaration in the ElementType enum, see AnnotationCodegen.java:306
(EnumSet guarantees such iteration ordering).
This has no effect other than reducing non-essential differences when
comparing ABI of JVM vs JVM_IR.
2020-10-12 21:38:09 +02:00
Alexander Udalov
1daeebcdd3
Minor, add regression test
...
#KT-42562
2020-10-12 21:37:37 +02:00
pyos
2ff011af17
JVM_IR: add an assertion and a comment about property references
...
I once again forgot why we don't cache property reference classes and
had to refer to the internal chat.
2020-10-12 21:14:00 +02:00
pyos
1663619606
JVM_IR: add local delegated property metadata to non-synthetic classes
...
Otherwise kotlin-reflect won't find it (and it won't even be serialized
anyway).
#KT-42562 Fixed
2020-10-12 21:14:00 +02:00
pyos
2974004de4
JVM_IR: make PropertyReferenceLowering less quadratic
...
ClassLoweringPass creates a visitor and calls lower() on each class,
which then creates another visitor that does not override `visitClass`
to ignore the nested classes. This is generally not a good idea.
2020-10-12 21:14:00 +02:00
Ilmir Usmanov
d7b9920eba
Treat field initializer as class initializer
...
when checking for allowance of other field initialization in lambda
with EXACTLY_ONCE contract.
#KT-40948 Fixed
2020-10-12 20:16:21 +02:00
Ilmir Usmanov
3b5706972e
Extract effect from lambda argument if it is in parentheses
...
Otherwise, contracts on the parameter have no effect.
#KT-42044 Fixed
#KT-26229 Fixed
2020-10-12 20:16:19 +02:00
Dmitry Petrov
df64bb3eb7
JVM_IR emulate JVM hack for generic signatures in KT-18189
...
KT-40307
See also KT-42609
2020-10-12 21:14:48 +03:00
Steven Schäfer
f20a695c0e
Minor: Rebase testGenericConstructorCallWithTypeArguments
2020-10-12 17:34:34 +02:00
Victor Petukhov
c89461e654
JSpecify: add gradle task to download JSpecify test suite
2020-10-12 17:33:35 +03:00
Victor Petukhov
d0cd7a4008
JSpecify: exclude test running from the common test task
2020-10-12 17:33:35 +03:00
Victor Petukhov
9dab052266
JSpecify: implement tests generator and test runner with checking compliance of kotlin diagnostics and jspecify marks
2020-10-12 17:33:35 +03:00
Victor Petukhov
f39e2d4a2d
JSpecify: convert java use sites for existing tests to kotlin ones
2020-10-12 17:24:35 +03:00
Victor Petukhov
ce44f7d4d3
JSpecify: implement kotlin use sites to java ones converter
2020-10-12 17:24:31 +03:00
Victor Petukhov
520e35baaf
JSpecify: rework tests – replace kotlin use sites to java ones with future j2k conversion
2020-10-12 17:24:29 +03:00
Victor Petukhov
8974128be4
JSpecify: remove annotations unsupported yet
2020-10-12 17:24:27 +03:00
Victor Petukhov
fb8bba4dfb
Include kotlin reflect test runtime dependency for tests-java8 module to make jps tests running work
2020-10-12 17:24:26 +03:00
Vladimir Dolzhenko
677f5ca4e3
Don't keep ref to ABSENT_KOTLIN_INJECTION in companion object
...
As it prevents from dynamic reloading of plugin
^KT-39958 Fixed
2020-10-12 13:09:18 +00:00
Vladimir Dolzhenko
7c2112d014
Prepare for KT dynamic plugin: make EP dynamic
...
Relates to ^KT-38518
2020-10-12 13:09:17 +00:00
Vladimir Dolzhenko
0e7e24c498
Add more diagnostics to address invalid module
...
Relates to ^KT-42274
2020-10-12 13:03:22 +00:00
Roman Artemev
fa7104213c
Temporary disable test until bootstrap is updated
2020-10-12 15:22:44 +03:00
Roman Artemev
f824bb6987
[JS BE] Merge Legacy and IR BE exceptions-related test data
...
- regenerate tests
- add consistency test
2020-10-12 15:22:44 +03:00
Roman Artemev
c16b11a124
[JS IR BE] Fix throwable stuff to make exceptions similar to JVM
2020-10-12 15:22:43 +03:00
Roman Artemev
ff093d363a
[JS IR BE] Fix Throwable ancestor transformation
...
Make sure that `message` and `cause` are properly configured
- synchronize IR BE and Legacy behaviour
- fix corresponding IR lowering
- fix JS IR core runtime
- add test
- fix KT-39964
2020-10-12 15:22:43 +03:00
Roman Artemev
383146f836
[JS IR BE] Add compiler instrinsic to express undefined value in BE
2020-10-12 15:22:43 +03:00
Dmitriy Novozhilov
f794ced888
[FIR] Fix incorrect cluster creating in CFG dumps
2020-10-12 11:55:05 +03:00
Dmitriy Dolovov
3495ec198d
Minor. Small clean-up in KLIB decompiler
2020-10-12 10:24:18 +03:00
Vladimir Dolzhenko
3eeaa07e0c
Sync up plugin.xml AS42 with 202
...
Relates to #KT-42274
2020-10-12 06:49:43 +00:00
Mads Ager
f941733f13
[JVM_IR] Rebase init blocks stepping test that is working as intended.
2020-10-12 08:36:17 +02:00
Vladimir Dolzhenko
a9bc63dece
Drop redundant legacy_name from ide perf tests json stats
2020-10-10 23:57:39 +02:00
Alexander Udalov
a4fb2a445f
Minor, add spaces to diagnostic message
2020-10-09 22:11:37 +02:00
Alexander Udalov
ac39e4d89c
Minor, add regression test
...
#KT-42554
2020-10-09 22:11:37 +02:00
pyos
6f9f437f15
IR: refuse to copy classes in InitializersLowering
2020-10-09 22:11:00 +02:00
pyos
e6c0575d3a
JVM_IR: do not deep-copy suspend lambdas in initializers
...
This loses reflection metadata (and also sometimes fails). Which was
missing anyway - this is also fixed now.
#KT-42554 Fixed
2020-10-09 22:11:00 +02:00
Mark Punzalan
8bc7370b92
ForLoopsLowering: Add PLUSEQ origin to increment to use IINC
...
instructions if possible.
2020-10-09 21:34:56 +02:00
Mark Punzalan
14137cb013
ForLoopsLowering: Remove additionalNotEmptyCondition as it is no
...
longer used in UntilHandler.
2020-10-09 21:34:56 +02:00
Mark Punzalan
ccbf7cc2ee
ForLoopsLowering: Use last-exclusive for-loops for optimized until
...
progressions instead of decrementing "last".
#KT-41352 Fixed
2020-10-09 21:34:56 +02:00
Mark Punzalan
1adb130509
ForLoopsLowering: Move isLastInclusive to HeaderInfo.
2020-10-09 21:34:56 +02:00