Commit Graph

93664 Commits

Author SHA1 Message Date
Hung Nguyen e01c2bc651 Warn in Gradle log when incremental compilation fails
When incremental compilation fails, we currently log it at the `debug`
level (and fall back to non-incremental compilation). This commit will
change it to `warning` so that we can get more user reports, which will
allow us to fix the root cause.

Also make sure the warning includes a stack trace.

Additionally, let ReportSeverity.fromCode() return a non-null value
or throw an exception otherwise as that case is not expected.

^KT-52839 In Progress
2022-07-15 10:48:34 +00:00
Mikhail Glukhikh 623f832bfd FIR: fix private-to-this corner case with outer class type parameter
Related to KT-49875
2022-07-15 07:57:42 +00:00
Mikhail Glukhikh d16e5e5e50 FIR: Support checking PRIVATE_TO_THIS visibility #KT-49875 Fixed 2022-07-15 07:57:41 +00:00
Mikhail Glukhikh 83200f8774 FIR: Support inferring PRIVATE_TO_THIS visibility see KT-49875 2022-07-15 07:57:41 +00:00
Alexander Udalov 3b613b3745 Fix some tests related to direct invoke optimization
- Fix test data of light class tests
  (SymbolLightClassesForLibraryTestGenerated).
- Revert the changes in kt8666.kt because they fail on JS IR, and it
  seems that this test is mostly needed for JS anyway.
- Use 'invoke(' as the pattern in bytecode text tests because plain
  'invoke' is used when these tests are run on JDK 11, where indy string
  concatenation is enabled by default and therefore we reference
  `java/lang/invoke/StringConcatFactory`.
2022-07-15 02:29:01 +02:00
Steven Schäfer 8014712569 JVM IR: Check that we generate callable references in tests 2022-07-14 23:24:18 +02:00
Steven Schäfer 2acfb3a41f JVM IR: Avoid direct lambda invokes in inline tests 2022-07-14 23:24:18 +02:00
Steven Schäfer f0760e0550 JVM IR: Move direct invoke optimization into a separate pass
This also changes the transformation to inline the body of a directly
invoked lambda rather than producing a call to an anonymous local
function. The latter is unsupported in inline functions and problematic
from an ABI perspective, since it results in functions whose name
depends on the entire source code up to this point.
2022-07-14 23:24:18 +02:00
Steven Schäfer 7d59c7689c JVM IR: Avoid direct invokes in callable reference tests
Due to the direct invoke optimization, most callable reference tests
were not generating callable references/lambdas.
2022-07-14 23:24:18 +02:00
Steven Schäfer f0238766df JVM IR: Avoid patchDeclarationParents after inlining
The code in IrInlineUtils.kt already updates declaration parents.
2022-07-14 23:24:18 +02:00
Stanislav Erokhin a18ac2ac91 Restore JvmIrCodegenFactory constructor for compatibility with AS 221 2022-07-14 16:30:12 +00:00
Alexander Likhachev a9e5074330 [Gradle, JS] Update IC test project with multiple artifacts 2022-07-14 13:21:07 +00:00
Alexander Likhachev e3f6ba4502 [Gradle, JS] Handle empty directories in task outputs backups
#KT-52925 Fixed
2022-07-14 13:21:07 +00:00
Alexander Likhachev 10146a7028 [Gradle, JS] Make the KT-51801 test to cover KT-52925 2022-07-14 13:21:06 +00:00
Denis.Zharkov 9f84e7651b Add issue link to deprecation warning message
^KT-29168 Fixed
2022-07-14 13:04:35 +00:00
Alexander Likhachev 5cae57cf28 [IC] Flush incremental caches on close
#KT-53168 Fixed
2022-07-14 12:55:30 +00:00
Aleksei.Cherepanov 0950205a47 [IC] Add test for lookups flushing
#KT-53168
2022-07-14 12:55:29 +00:00
konstantin.tskhovrebov 7d6cf449b1 [KT-53174] Add platform version to synthetic generated Podfile. 2022-07-14 12:20:39 +00:00
Pavel Mikhailovskii b26155dd9e KT-53007 Fix accessibility checks when calling a protected member via super@Outer 2022-07-14 13:09:42 +02:00
Yahor Berdnikau 603d043abc Move Kotlin/Native compiler arguments into :compiler:cli:cli-common
This allows to reference them in the Gradle plugins without enabling
kotlin-native part of the repository

^KT-53108 In Progress
2022-07-14 10:57:28 +00:00
Mikhail Glukhikh 13713323cf Make FirRenderer inherit FirRendererComponents instead of FirPrinter
#KT-53024 Fixed
2022-07-14 09:38:46 +00:00
Mikhail Glukhikh 7ce5100946 FirRenderer: slightly change/refactor declaration rendering 2022-07-14 09:38:45 +00:00
Mikhail Glukhikh ac34fe3306 FirRenderer: code cleanup & move parts to contract renderer 2022-07-14 09:38:44 +00:00
Mikhail Glukhikh 801426d0e6 Simplify creation of FirRenderer 2022-07-14 09:38:44 +00:00
Mikhail Glukhikh f9fdb5d3bc Extract separate FirResolvePhaseRenderer 2022-07-14 09:38:43 +00:00
Mikhail Glukhikh 42b3adf33a Extract separate ConeIdRenderer and get rid of FirRenderer.RenderMode 2022-07-14 09:38:42 +00:00
Mikhail Glukhikh e484a4a946 Make ConeContractRenderer a renderer component 2022-07-14 09:38:41 +00:00
Mikhail Glukhikh 31a46866b6 Extract separate FirPropertyAccessorRenderer 2022-07-14 09:38:41 +00:00
Mikhail Glukhikh 9f1f777e0d Extract separate FirValueParameterRenderer 2022-07-14 09:38:40 +00:00
Mikhail Glukhikh 76d5d3a2ec Extract separate FirModifierRenderer 2022-07-14 09:38:39 +00:00
Mikhail Glukhikh 3fe35e6997 Extract separate FirCallArgumentsRenderer 2022-07-14 09:38:39 +00:00
Mikhail Glukhikh abfa33b200 Get rid of mode argument in FirElement.render(withType) 2022-07-14 09:38:38 +00:00
Mikhail Glukhikh 7c27e6f843 FirRenderer: partially get rid of RenderMode 2022-07-14 09:38:37 +00:00
Mikhail Glukhikh 9890066b72 Extract separate FirPackageDirectiveRenderer 2022-07-14 09:38:36 +00:00
Mikhail Glukhikh bc49107d25 Extract separate FirDeclarationRenderer 2022-07-14 09:38:36 +00:00
Mikhail Glukhikh 5bb4a0ccda FirRenderer: drop effectively unused renderDeclarationOrigin parameter 2022-07-14 09:38:35 +00:00
Mikhail Glukhikh 089044e5b0 FirRenderer: get rid of direct Visitor usages 2022-07-14 09:38:34 +00:00
Mikhail Glukhikh 998ed8849f FirRenderer: drop effectively unused renderLambdaBodies parameter 2022-07-14 09:38:34 +00:00
Mikhail Glukhikh a82baf87cb FIR renderer: extract separate ConeTypeRenderer 2022-07-14 09:38:33 +00:00
Mikhail Glukhikh 591143be7c FIR renderer: introduce separate body & annotation renderers 2022-07-14 09:38:32 +00:00
Mikhail Glukhikh f64a7d3ff9 FirRenderer: extract separate printer & visitor 2022-07-14 09:38:32 +00:00
Mikhail Glukhikh 38d6f3d548 Move FirRenderer to separate package 2022-07-14 09:38:31 +00:00
Mikhail Glukhikh 475e40b3e4 K1: report warning for inline virtual member in enum #KT-53148 Fixed
Related to KT-34372
2022-07-14 07:59:33 +00:00
konstantin.tskhovrebov f509a756fd [KT-53127] Fix paths to local unarchived pod and for git pod. 2022-07-14 07:37:09 +00:00
konstantin.tskhovrebov 6d594d1a08 [KT-53127] Add pod dependency version for synthetic generated project. 2022-07-14 07:37:08 +00:00
Alexander Likhachev 07c9cfd486 [Gradle, JS] Make simple K/JS IC test to cover IR backend as well 2022-07-13 19:40:49 +00:00
Alexander Likhachev d2450268f6 [Gradle, JS] Migrate simple K/JS IC test to the new plugin (#KT-52946) 2022-07-13 19:40:49 +00:00
Alexander Likhachev 1e76404163 [Gradle, JS] Fix multimodule IC for K/JS plugin
#KT-52946 Fixed
2022-07-13 19:40:48 +00:00
Alexander Likhachev 18560db373 [IC] Remove unused variable declaration
Previously it was introduced to make `when` exhaustive, but now all the `when` operators on enums are exhaustive
2022-07-13 19:40:47 +00:00
Yahor Berdnikau 0c4598a00e Enable caching for generated script accessors
According to https://github.com/gradle/gradle/issues/20416 issue it is
safe to do.
2022-07-13 17:30:16 +00:00