Commit Graph

80784 Commits

Author SHA1 Message Date
Dmitriy Dolovov dfd3b54ee4 Native: Handle integer overflow on div/rem of Int.MIN_VALUE by -1
^KT-45136
2021-03-24 09:55:46 +03:00
Vyacheslav Gerasimov 7fe0df2816 Build: Drop include/* project previously used in composite build 2021-03-23 22:52:40 +03:00
Dmitry Petrov 4f250ed498 JVM_IR KT-45377 rewrite constants again after AddContinuationLowering 2021-03-23 16:05:24 +03:00
Ilya Kirillov 0f2aca3280 FIR: use session symbolProvider from symbol for getting it's file 2021-03-23 13:41:03 +01:00
Yahor Berdnikau d46ad6c0ad Fix kapt creates output directories on configuration phase.
Gradle will create such directories itself. Also it should fix build
cache issue with kapt tasks - build cache was disabled
 due to the 'overlapping outputs'.

 ^KT-45532 Fixed
2021-03-23 15:20:35 +03:00
Ilmir Usmanov 5abc45e6ff IC IDE: Add description of intention to add @JvmInline to value class
#KTIJ-5663
2021-03-23 12:13:05 +01:00
Ilmir Usmanov 823d2d0748 IC IDE: Add intention to add @JvmInline annotation to value class on JVM
#KTIJ-5663 Fixed
2021-03-23 12:13:03 +01:00
Alexander Udalov ea01c97a8e Write underlying property name & type for inline class to metadata
This will be used in the compiler starting from 1.5.20 instead of the
currently used approach of looking for the single value parameter of the
primary constructor. The problem with the current approach is that
primary constructor can be private (since 1.4.30) and the property could
always be private. Relying on private declarations from metadata is
dangerous; for example lazy IR doesn't usually create stubs for private
declarations, and it didn't create stubs for private inline class
constructors before b5f9b1df, which led to the problem reported in
KT-44723.
2021-03-23 11:45:22 +01:00
Mark Punzalan 5baa2e0e7c FIR IDE: Simplify the diagnosticFixFactory() API by removing
HLApplicatorWithTargetAndInput and making HLQuickFix public.
2021-03-23 11:04:33 +01:00
Mark Punzalan 062adf21de FIR IDE: Use KtFirExpressionTypeProvider.getExpectedType() in
ReplaceCallFix.
2021-03-23 11:04:33 +01:00
Mark Punzalan e9298d1d71 FIR IDE: Allow FIR-specific "after" files for
AbstractHighLevelQuickFixTest.
2021-03-23 11:04:33 +01:00
Mark Punzalan 14ca2d207d FIR IDE: Additional support for
KtFirExpressionTypeProvider.getExpectedType():

- Infix function parameter
- Variable assignment
- Property declaration
- Function expression body
2021-03-23 11:04:33 +01:00
Mark Punzalan 164d7d80b6 FIR IDE: Enable ReplaceCallFix for UNSAFE_CALL. 2021-03-23 11:04:33 +01:00
Mark Punzalan 3ebdfa3850 FIR IDE: Implement applicatorByQuickFix() to re-use quick fix actions
from idea-frontend-independent.
2021-03-23 11:04:33 +01:00
Mark Punzalan 1b649fa4cb FIR IDE: Generate quickfix tests related to ReplaceCallFix. 2021-03-23 11:04:33 +01:00
Mark Punzalan 05deecaafa FIR IDE: Move ReplaceCallFix to idea-frontend-independent. 2021-03-23 11:04:33 +01:00
Andrei Klunnyi 482c677274 KT-44299 [Sealed Interfaces]: when exhaustiveness in IDE considers java inheritor
^KT-44299 fixed
2021-03-23 10:55:20 +01:00
hungvietnguyen 7c4225b9d1 [Kapt] Ensure flag names and default values are consistent
Group flag names and default values in one place to make the code easier
to read and prevent mistakes and inconsistencies.
2021-03-23 10:41:28 +03:00
Igor Chevdar 752be27557 [K/N][tests] Disabled failing test for now 2021-03-23 11:57:56 +05:00
Svyatoslav Scherbina 818659f2bb Native: fix bug in KType support affecting only stdlib
Don't use IrClass.declarations to find enum entries during lowerings,
because this enum might already be lowered and thus have all entries
removed.
2021-03-23 09:45:40 +03:00
Ilmir Usmanov 886e3e6655 Update tests, which check -X... flag in LauncherScriptTest
Previously, -Xallow-result-return-type was used to test, whether the
launcher parses -X... flags correctly, however, it has no effect -
returning Result is allowed anyway. So, instead, use -Xno-inline and
check runtime behavior.
2021-03-22 23:14:23 +00:00
Vyacheslav Karpukhin 499ffd610a AndroidDependencyResolver: codestyle fixes after review 2021-03-22 22:29:12 +01:00
Vyacheslav Karpukhin ac8d135a21 AndroidDependencyResolver:
1. Correctly process project dependencies
2. Don't include variant-specific dependencies into more generic sourcesets
2021-03-22 22:29:12 +01:00
Vyacheslav Karpukhin 3ce00f6eb4 AndroidDependencyResolver: when operating without Android IDE plugin, don't duplicate dependencies for Android sourcesets 2021-03-22 22:29:12 +01:00
Alexander Udalov b5f9b1dfc0 JVM IR: support inline classes with private constructors from other modules
#KT-44723 Fixed
2021-03-22 21:57:07 +01:00
Alexander Udalov dac218dc39 Minor, regroup compileKotlinAgainstKotlin tests on inline classes 2021-03-22 21:57:04 +01:00
Ilmir Usmanov 3124a4ddae Minor. Update test data 2021-03-22 17:35:08 +01:00
Mads Ager 571971c5db JVM: Fix local variable ranges in state machine transform.
When a suspension point is inlined, the inlining local spans
unspilling code where the local slot has not been initialized.

The transformer already inserted initialization code for the local,
however, it did not split the local variable table. Therefore,
the inlining local is defined on instructions where the local
slot has no value (namely the instructions that initialize
the local slot on the unspilling path).

This change adds splitting of the local variable table as well.
When updating to a new version of D8, the uninitialized local
slot showed up. D8 will repair it in this case, but it is
better to not generate such code.
2021-03-22 17:35:06 +01:00
Aleksei.Cherepanov 911c24d594 Additional trust artifacts for JPS build 2021-03-22 19:08:36 +03:00
Svyatoslav Scherbina 0730833135 Remove kotlin-native/common/src/hash
It is no longer used.
2021-03-22 16:03:31 +00:00
Svyatoslav Scherbina ce239ccc3e Native runtime: remove unused dependency on common/src/hash
No longer required after c8633d8bda.
2021-03-22 16:03:30 +00:00
Svyatoslav Scherbina 2a7ccb11e8 Native compiler: remove unused dependency on common/src/hash 2021-03-22 16:03:29 +00:00
Svyatoslav Scherbina a471bbc185 Native compiler: remove unused hashing code
It was used to compute hashes for class names, but this is no longer
required after c6ac807034.
2021-03-22 16:03:28 +00:00
Svyatoslav Scherbina 39d748dbbb Native compiler: replace C++ CityHash64 impl by Kotlin one 2021-03-22 16:03:28 +00:00
Ilya Kirillov 32be3cc703 FIR IDE: do not require read action to collect diagnostics 2021-03-22 16:18:24 +01:00
Ilya Kirillov 58a5f4f90b FIR IDE: do not fail on building anonymous function symbol 2021-03-22 16:15:33 +01:00
Ilmir Usmanov b838ba8c62 Check whether backend is IR instead of distinct ones 2021-03-22 15:08:59 +00:00
Ilmir Usmanov 9c97f1ce35 Allow Result return type and nullability operators on Result type
by default
2021-03-22 14:56:16 +00:00
Yahor Berdnikau 6473d2a7c8 Bump advanced Gradle version to 7.0-milestone-3.
Fixed test setup that causes test failures.

^KT-44949 In Progress
2021-03-22 17:02:27 +03:00
Ilya Kirillov c38a793352 FIR IDE: replace custom KtSymbolVisibility with compiler common Visibility 2021-03-22 14:02:20 +01:00
Ilya Kirillov 3154234107 FIR IDE: do not run STATUS phase under lock 2021-03-22 14:02:20 +01:00
Ivan Gavrilovic 093c8bfbb6 Register KAPT incremental apt cache as local state
This is so that incremental caches are removed on
non-incremental task run.
2021-03-22 15:59:20 +03:00
Br0mm 75e4c74256 [FIR] Add FirConstValWithGetterOrDelegateChecker 2021-03-22 15:05:40 +03:00
Ilya Kirillov 93f711e2b8 FIR: extract initializing of containingClassAttr into fun 2021-03-22 12:30:59 +01:00
Ilya Kirillov 9f0af3faba FIR: fix containigClassAttr for property accessor without body in light tree builder 2021-03-22 12:30:58 +01:00
Ilya Kirillov 801d4a0c77 FIR: initialize containingClassAttr in light tree builder to match RawFirBuilder 2021-03-22 12:30:58 +01:00
Ilya Kirillov dcf64779a9 FIR: add declaration attributes checking to rawFirBuilder/lightTree tests 2021-03-22 12:30:58 +01:00
Ilmir Usmanov 3bcc2fe476 Minor. Add IDE MPP test 2021-03-22 11:13:14 +00:00
Ilmir Usmanov 164e9034d1 IC MPP: Allow expect value classes without @JvmInline
#KT-45525 Fixed
2021-03-22 11:13:13 +00:00
Sergey Bogolepov 8ba4f060f0 Enable linuxX64 target on macOsArm64 host
Because tests for Gradle plugin assumes that linuxX64
is available on all hosts.
2021-03-22 14:02:43 +03:00