Dmitriy Novozhilov
7f836ee6c3
[FIR] Remove AllOpen prefixes from fir plugin prototype entities
2021-10-12 17:26:43 +03:00
Dmitriy Novozhilov
6712191538
[FIR] Update plugin prototype testdata
2021-10-12 17:26:41 +03:00
Dmitriy Novozhilov
9a802e7cd7
[FIR] Return symbols instead of FIR from FirPredicateBasedProvider
2021-10-12 17:26:40 +03:00
Dmitriy Novozhilov
6a14d91dbd
[FIR] Change predicate providing API for FIR extensions
...
Predicate declaration was split into two parts:
- registering any number of predicates which are used in specific extension
- special checks for declaration applicability for each specific extension
2021-10-12 17:26:39 +03:00
Dmitriy Novozhilov
20e35167c8
[FIR] Add simple IR body generator to FIR plugin prototype
2021-10-12 17:26:39 +03:00
Dmitriy Novozhilov
b3768a201f
[FIR2IR] Create special IrDeclarationOrigin for generated declarations
2021-10-12 17:26:37 +03:00
Dmitriy Novozhilov
233b9f1242
[FIR] Generate IR for generated FIR declarations
2021-10-12 17:26:37 +03:00
Dmitriy Novozhilov
e3579389ee
[FIR] Create IR text tests for declarations generators
2021-10-12 17:26:36 +03:00
Dmitriy Novozhilov
0f076e16ed
[FIR] Update plugin testdata
2021-10-12 17:26:35 +03:00
Dmitriy Novozhilov
ea93d23dca
[FIR] Move fir plugin tests to diagnostics sub directory
2021-10-12 17:26:34 +03:00
Dmitriy Novozhilov
79f1779d89
[FIR] Add methods to collect all class and callable ids from extensions
...
They will be needed for generating IR for all declarations from plugins
2021-10-12 17:26:33 +03:00
Dmitriy Novozhilov
38877ba842
[FIR] Implement extension for providing additional type attributes
2021-10-12 17:26:32 +03:00
Dmitriy Novozhilov
e26cd74b16
[FIR] Fix applying generated supertypes for classes without explicit supertypes
2021-10-12 17:26:31 +03:00
Dmitriy Novozhilov
26fa772846
[FIR] Add ability to generate members and nested classifiers for existing classes
2021-10-12 17:26:30 +03:00
Dmitriy Novozhilov
f3a9d70eb6
[FIR] Add ability to generate members and nested classifiers for generated classes
2021-10-12 17:26:29 +03:00
Dmitriy Novozhilov
15abd839ed
[FIR] Rewrite algorithm of generating declarations by plugins
...
Before there was separate global stage which asks extensions
to generate new declarations. Now it is changed to provider
like requests, so extensions will decide do they have declarations
with specific classId/callableId or not
2021-10-12 17:26:26 +03:00
Dmitriy Novozhilov
e87f7c5cb4
[FIR] Update dummy checker in allopen plugin
2021-10-12 17:26:24 +03:00
Dmitriy Novozhilov
84dab9230e
[FIR] Adapt AllOpenVisibilityTransformer to work with unresolved annotation arguments
2021-10-12 17:26:23 +03:00
Dmitriy Novozhilov
91624dd841
[FIR] Move call of status transform extensions to FirStatusResolver
...
It makes more sense to run status transformer extension
right in status resolve stage, because it reduces
number of compiler stages
2021-10-12 17:26:21 +03:00
Dmitriy Novozhilov
6d42914e56
[FIR] Migrate fir plugin prototype tests to new test infrastructure
2021-10-12 17:26:18 +03:00
Dmitriy Novozhilov
e56c87a17a
[Build] Move utils for generation JUnit 5 tests to :generators module
2021-10-12 17:26:18 +03:00
Dmitriy Novozhilov
f0aba5e892
[Test] Update parcelize bytecode testdata
2021-10-12 10:30:13 +03:00
Alexey Subach
ca2f37f6eb
Add possibility to get location of the script.main.kts file
...
#KT-48414 fixed
2021-10-11 15:45:57 +02:00
Andrey Uskov
52e45062cf
KAPT does not fail with default settings on JDK 16+
...
If KAPT process is executed on latest JDKs and module
'jdk.compiler' does not export required packages, KAPT will
configure this module to export required packages.
#KT-45545 Fixed
2021-10-10 16:40:34 +03:00
Ilya Muradyan
58831eacca
[scripting] Make properties from destructing declarations available with reflection
2021-10-07 18:17:21 +03:00
Dmitriy Novozhilov
df47bffabb
[Test] Migrate Parcelize tests to new test infrastructure
2021-10-07 13:08:45 +03:00
Dmitriy Novozhilov
a68c4ec7be
[Test] Add ability to specify main class in Box tests
...
Also slightly refactor some existing services to make them more idiomatic
2021-10-07 13:08:45 +03:00
Dmitriy Novozhilov
aab8870903
[Test] Migrate AbstractAsmLikeInstructionListingTest to new test infrastructure
2021-10-07 13:08:44 +03:00
Dmitriy Novozhilov
bc7cc6b5a9
Move generated parcelize tests to tests-gen directory
2021-10-07 13:08:43 +03:00
Victor Petukhov
3530840da3
Don't report TAILREC_ON_VIRTUAL_MEMBER on private opened functions instead of leaving private members final by allopen plugin
...
^KT-48117 Fixed
2021-09-30 20:08:49 +03:00
Victor Petukhov
c3773d14bb
Revert "[all-open] Don't affect private declarations to change their modality to open"
...
This reverts commit baeee8988e .
2021-09-30 20:08:48 +03:00
Alexander Udalov
aa247726b6
Prohibit using old JVM backend with LV >= 1.6
...
#KT-48928 Fixed
2021-09-30 13:56:34 +02:00
Dmitriy Novozhilov
e933c7b6d9
[Build] Remove testApi(intellijDep()) dependencies from all modules
...
Since IDEA moved most of it's jars to java 11 it's illegal to use them
in our dependencies, so all modules which use `intellijDep()` should
carefully specify which jars they use
2021-09-30 14:41:31 +03:00
Leonid Startsev
f4eaf611c8
Do not access serializable property IrField if it is unbound
...
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1698
2021-09-29 15:21:12 +00:00
Steven Schäfer
00134fddf9
Parcelize: Allow Parcelize annotation on sealed classes
...
See https://issuetracker.google.com/177856520
2021-09-28 22:16:33 +02:00
Dmitriy Novozhilov
de7fb9606a
Migrate all JDK 9 related tests to JDK 11
2021-09-28 13:01:47 +03:00
Victor Petukhov
a264cbfe7d
Move CallUtil.kt under the resolve.util package
2021-09-27 16:12:01 +03:00
Vyacheslav Gerasimov
a5d31fe2e2
Build: Fix warnings in pill
...
Required for Gradle 7+ #KTI-559
2021-09-26 23:36:40 +03:00
Vyacheslav Gerasimov
f91d6958a8
Build: Rework runtimeJar helper and drop redundant configuration
...
#KTI-559
2021-09-26 20:10:29 +03:00
Vyacheslav Gerasimov
ab146bd6d4
Build: Fix deprecated Gradle configurations usages
...
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00
Steven Schäfer
cb46a56815
Parcelize: Support unsigned array types
...
See https://issuetracker.google.com/200774823
2021-09-22 13:42:04 +02:00
Steven Schäfer
2501013012
Parcelize: Support ShortArray
...
ShortArrays are broken in the Parcelize JVM backend, which caused a
frontend error on the JVM IR backend.
2021-09-22 13:42:04 +02:00
Steven Schäfer
fc013c6b9f
Parcelize: Add an intrinsic to access Parcelable CREATOR fields
...
Fixes KT-19853.
The CREATOR field is a static field on a Parcelable class which is not
visible from Kotlin since the necessary metadata would have to be in a
Companion object which may not exist.
This commit adds a [parcelableCreator] function to kotlinx.parcelize,
which is optimized to a direct field access whenever possible.
2021-09-21 15:09:39 +02:00
Steven Schäfer
897c09bf8d
Parcelize: Use the class loader of the Parcelable class for reading
...
In `readBundle`, `readPersistableBundle`, and `readValue`.
2021-09-21 15:09:04 +02:00
Steven Schäfer
dc568426bd
Parcelize: Allow IgnoredOnParcel annotations on object properties
2021-09-18 00:26:16 +02:00
Steven Schäfer
ae27be16eb
AsmLikeInstructionListingTest: Print owner for FieldInsnNode
2021-09-18 00:25:58 +02:00
Alexander Udalov
5d6ca27c93
JVM IR: introduce CodegenFactory.convertToIr
...
The steps of psi2ir and JVM backend need to be separated in the API
because in case of cyclic module dependencies (which are allowed in JPS)
psi2ir should be run first on all sources, and then JVM backend on each
module separately. `CodegenFactory.convertToIr` does nothing in the old
backend.
Also, move the ignoreErrors to GenerationState for simplicity.
2021-09-17 17:39:48 +02:00
Dmitriy Novozhilov
5c2a3bb78e
[FIR] Move duplicating names and classIds to StandardClassIds
2021-09-15 17:11:29 +03:00
Alexander Udalov
5df316a129
Minor, rename module backend.jvm:backend.jvm.entrypoint -> backend.jvm.entrypoint
2021-09-14 22:29:13 +02:00
Alexander Udalov
eee8b033a6
JVM IR: minimize usages of jvmPhases outside backend.jvm
2021-09-14 22:29:12 +02:00