Alexander Udalov
c813e03c1e
Kapt+JVM_IR: do not generate nested enum as final
...
#KT-54187 Fixed
2022-10-24 12:48:22 +00:00
Daniel Santiago
189be2b117
[KAPT] Setup KaptJavaLog writers during initialization.
...
Migrate KaptJavaLog to not used deprecated constructor in newer JDKs and instead set up the writers during initialization. This enables us to get rid of KaptJavaLog17.
Fixes KT-54030
2022-10-11 23:48:18 +02:00
Nicklas Ansman Giertz
b02948b5f7
KAPT: Kapt generates illegal stubs for private interface methods
...
Interface methods that were private got both the `default` and `private`
modifiers when using `jvm-default=all` which is not valid.
The stub will now just contain `private` in this case.
This fixes KT-48013.
2022-09-26 12:21:56 +02:00
Vladimir Sukharev
c8864369fd
Use main class as test generator name
...
Merge-request: KT-MR-7031
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-09-09 12:51:18 +00:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Dmitriy Novozhilov
af8caae387
[KAPT] Fix formatting
2022-07-20 10:12:25 +00:00
Dmitriy Novozhilov
8b960de76a
[KAPT] Add additional test tasks for running tests on JDK 11
2022-07-20 10:12:24 +00:00
Dmitriy Novozhilov
9c41e75802
[KAPT] Migrate kapt tests to new test infrastructure
2022-07-20 10:12:24 +00:00
Dmitriy Novozhilov
1a8496757e
[Compiler] Mark all entrypoints to compiler API as experimental
2022-06-29 12:00:01 +00:00
Dmitriy Novozhilov
f587c02d38
[FE] Move ServiceLoaderLite to :compiler:frontend.common
...
This is needed to be able to use this class inside FIR part of IDE plugin
2022-06-29 12:00:00 +00:00
Dmitriy Novozhilov
c979e1edcf
[Plugins] Deprecate ComponentRegistrar
...
^KT-52665 In Progress
2022-06-29 11:59:58 +00:00
Pavel Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Mikhael Bogdanov
162ca4ac2b
KAPT+IR: support IR error types
...
#KT-49682
2022-06-20 11:42:53 +00:00
Simon Ogorodnik
e3c7929fee
KT-52284 Clarify message in Kapt with K2 error
2022-06-20 10:39:25 +00:00
Alexander Udalov
448cba07bb
Psi2ir: do not generate init block body in kapt mode
2022-06-17 16:51:06 +02:00
Alexander Udalov
7e9d7c895a
Kapt: add flag kapt.use.jvm.ir for enabling JVM IR support
...
#KT-49682
2022-06-17 16:51:06 +02:00
Simon Ogorodnik
0b88748623
KT-52284 Kapt. Report error for kapt run with K2
2022-05-06 15:25:41 +00:00
Simon Ogorodnik
1c90d8a960
KT-52038 Kapt. Disable FIR for kapt run automatically
2022-04-28 15:42:41 +00:00
Ilya Chernikov
2044754628
Backend: remove psi files from generation state
...
pass them explicitly to all destinations. This is a step in attempt to
abstract dependencies on PSI in the GenerationState and related places.
2022-03-30 08:33:59 +00:00
Ilya Chernikov
da41fddabb
Backend: remove codegen factory from generation state
...
use it explicitly. This is a step in attempt to abstract dependencies
on PSI in the GenerationState and related places.
2022-03-30 08:33:51 +00:00
Udi Cohen
c9d2f40b95
Rename params show/dumpProcessorTimings to show/dumpProcessorStats
...
^KT-51132 Fixed
2022-03-25 18:54:02 +00:00
Victor Petukhov
b5933c70e2
[FE 1.0] Refactor error utils: split error entities and introduce error type and error scope kinds
2022-03-23 21:13:33 +00:00
Mikhael Bogdanov
093b1bebb0
KAPT+IR: Generate LVT in kapt mode
2022-03-22 09:50:08 +00:00
Mikhael Bogdanov
41a54241bb
Update testdata
2022-03-15 11:38:04 +01:00
Mikhael Bogdanov
15c3dd527c
KAPT+IR: Support data classes
2022-03-15 11:38:04 +01:00
Mikhael Bogdanov
ceedad40f3
KAPT+IR: Support secondary constructors
2022-03-15 11:38:03 +01:00
Mikhael Bogdanov
ccbecbaccb
KAPT+IR: Update tests
2022-02-17 12:26:42 +01:00
Mikhael Bogdanov
7b767aaa1c
KAPT+IR: Don't clear binding context if KAPT is used
2022-02-17 12:26:42 +01:00
Mikhael Bogdanov
f05c72d48f
KAPT+IR: Properly process annotations and backing field annotations
2022-02-17 12:26:42 +01:00
Mikhael Bogdanov
ea2bf3c867
KAPT+IR: Support -Xjvm-default modes
2022-02-17 12:26:41 +01:00
Mikhael Bogdanov
00f2b83b84
KAPT+IR: Support @JvmOverloads annotation
2022-02-17 12:26:41 +01:00
Mikhael Bogdanov
7ec19d015c
KAPT+IR: Properly process repeatable annotation
...
~review fix
2022-02-17 12:26:41 +01:00
Mikhael Bogdanov
d810d93578
IR: Keep annotations in enum constructor during lowering
2022-02-17 12:26:40 +01:00
Alexander Udalov
032d69aa41
Kapt: handle special names correctly
...
Parameter names of some methods are different in JVM IR, for example
extension receivers of property `$annotations` methods are named
`<this>`, which made the `Name.identifier` call fail. It seems fine to
use the "p + index" name for this instead.
#KT-49682
2022-02-08 20:15:14 +01:00
Alexander Udalov
07d3e3a5bd
Kapt: support property $annotations methods for JVM IR
...
`is PropertyDescriptor` check doesn't work for JVM IR where descriptor
is created on-the-fly and is an `IrBasedSimpleFunctionDescriptor`.
#KT-49682
2022-02-08 20:15:14 +01:00
Alexander Udalov
25edf64daf
Psi2ir: support mode without generation of bodies
...
This is needed for kapt + JVM IR.
#KT-49682
2022-02-08 20:15:14 +01:00
Alexander Udalov
b3820564b0
Kapt: never generate enums as final
...
Behavior differs between JVM and JVM_IR backends here because in JVM,
the class descriptor comes from the frontend, and its modality for enum
is never final. For JVM IR, the class descriptor is based on IrClass,
whose modality is sometimes final for enum, presumably because it's
easier for backends (see `ClassGenerator.getEffectiveModality`).
#KT-49682
2022-02-08 20:15:14 +01:00
Alexander Udalov
fc2c0eea27
JVM IR: generate source-retained annotations in kapt mode
...
#KT-49682
2022-02-08 20:15:13 +01:00
Alexander Udalov
1df2851611
IR: use names $this/$receiver for receivers in copied static functions
...
Similarly to the other places in the IR backend (e.g. see
`copyValueParametersToStatic` in the same file).
In JVM IR, these names are used for example for receiver parameters of
methods copied to DefaultImpls classes. Since Java stub code generated
by kapt mentions them, it fixes a few issues in tests on kapt + JVM IR
(KT-49682).
2022-02-08 20:15:13 +01:00
Alexander Udalov
f6d3bb5b1b
Kapt: add JVM IR expectations for some tests
...
All of these have a different order of declarations and/or extra
`@NotNull` annotations on fields, both of which doesn't seem like a
problem.
#KT-49682
2022-02-08 20:15:13 +01:00
Alexander Udalov
bcd221f714
Kapt: use descriptorBasedTypeMapping for type mapping
...
Since all anonymous types are approximated to a supertype in kapt, type
mapping doesn't require backend information (mapping of anonymous types
to class names) and can be performed statically, independently from
particular JVM backend internals, via descriptorBasedTypeMapping.
#KT-49682
2022-02-08 20:15:13 +01:00
Alexander Udalov
754ad100a9
Minor, cleanup kapt tests
...
Fix inspections, reformat
2022-02-08 20:15:13 +01:00
Alexander Udalov
62c1c33ee3
Kapt: slightly improve CustomJdkTestLauncher
...
- Include stdout & stderr dump to the exception message if the Java
command fails
- Support running JVM_IR tests
- Do not print anything to the stdout of the test itself in case it's
successful
#KT-49682
2022-02-08 20:15:13 +01:00
Alexander Udalov
ebb9659e03
Add mode to run kapt with JVM IR, use in tests
...
Currently JVM IR is not supported in kapt, so almost all tests are
failing, and thus are muted with IGNORE_BACKEND.
#KT-49682
2022-02-08 20:15:13 +01:00
Vyacheslav Gerasimov
84469d0c68
Build: Fix test runtime for kapt tests
2021-12-16 21:48:29 +03:00
Vyacheslav Gerasimov
f7a9065b75
Build: Use intellij maven repo instead of downloaded IDEA
...
#KTI-82
2021-12-16 21:48:23 +03:00
Vyacheslav Gerasimov
bc2f0936bd
Build: Rename commonDep -> commonDependency
2021-12-16 21:48:19 +03:00
Nikolay Krasko
e733aa21d5
Fix error instead of muting it in kapt tests
2021-12-15 19:18:55 +03:00
Steven Schäfer
4f3debdec6
[KAPT] Correct error types in annotations (KT-32596)
2021-12-14 11:31:25 +03:00
Dmitriy Novozhilov
93378b1a04
[FE 1.0] Resolve private constructors of sealed classes same as for regular classes
...
^KT-44866
^KT-49729
2021-11-18 13:54:05 +03:00