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
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
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
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
Mikhail Glukhikh
70e15b281c
K2: fix exception in deserializer for external setter #KT-53031 Fixed
2022-07-13 17:06:14 +00:00
Artem Kobzar
117df325c9
[JS/IR] fix: add ability to render type constraints into TypeScript definitions.
2022-07-13 15:20:27 +00:00
Mikhail Glukhikh
7bbd8d3b95
FIR2IR entry points: don't create JvmDescriptorMangler if not needed
2022-07-13 13:11:49 +00:00
Mikhail Glukhikh
1a45284e86
Drop some unused from symbol table / IR converter
2022-07-13 13:11:49 +00:00
Mikhail Glukhikh
18a5b3b518
Drop unnecessary usages of OptIn(ObsoleteDescriptorBasedAPI)
2022-07-13 13:11:48 +00:00
Pavel Kunyavskiy
5cdda48487
[K/N] Extract const val initializers to place of usage
...
This would make behaviour more consistent with jvm. There is still
a difference in behaviour about point where side effects happen.
^KT-52970
2022-07-13 08:49:40 +00:00
Igor Chevdar
e36bd5fe90
[box-tests] Added a multi-module box test
2022-07-13 08:01:51 +00:00
Ilya Chernikov
3471a1b899
minor: fix caching in Fir2Ir declarations storage
2022-07-13 08:45:20 +02:00
Ilya Kirillov
95744062c1
[Symbol LC] add parents for the local classes
2022-07-13 01:47:36 +02:00
Denis.Zharkov
f7a2889a40
FastJarHandler: Add information for exceptions thrown during CD parsing
...
^KT-52786 Related
2022-07-12 14:45:37 +00:00