Mikhail Glukhikh
7d3368da58
K2: report errors related to SubClassOptInRequired annotation
...
Related to KT-41886
2022-08-11 14:05:08 +00:00
Mikhail Glukhikh
c67c5cad27
K1: report errors related to SubClassOptInRequired annotation
...
Related to KT-41886
2022-08-11 14:05:07 +00:00
Mikhail Glukhikh
84291181af
K1: drop redundant OptIn check for expanded type
2022-08-11 14:05:07 +00:00
Hung Nguyen
bd085495bd
New IC: Add tests for constants-in-companion-objects impact computation
...
^KT-53266 Fixed
2022-08-11 16:01:26 +02:00
Hung Nguyen
2ad047340f
New IC: Add constants-in-companion-objects impact computation
...
When computing impacted symbols of changed symbols, previously we
considered only the supertypes-inheritors type of impact, which is the
most common type. This commit adds the constants-in-companion-objects
type of impact to address KT-53266.
We've also cleaned up impact computation to make it easier to add new
types of impact in the future.
^KT-53266 In progress
2022-08-11 16:01:25 +02:00
Hung Nguyen
3f0a93d6dd
New IC: Reorganize test data directories
...
to make it easier to add new tests
^KT-53266 In progress
2022-08-11 16:01:24 +02:00
Dmitriy Novozhilov
fd4aafdb75
[Lombok K2] Support @Builder and @Singular annotations
...
^KT-46959 Fixed
2022-08-11 15:22:36 +03:00
Dmitriy Novozhilov
1f2f6f4067
Reformat treeBasedTypes.kt
2022-08-11 15:22:35 +03:00
Pavel Mikhailovskii
8ba80b4b7b
KT-1436 Allow break/continue in inlined lambdas
2022-08-11 10:38:23 +00:00
pyos
4aad666d3c
JVM: do not assume presence of default method handle arguments ( #4915 )
...
I believe Jetpack Compose is not generating them, and that's what's
causing KT-52843. Adding them is obviously an ABI-breaking change.
2022-08-11 00:37:00 +02:00
Ilya Kirillov
531236ce16
[FIR] generate testdata for RawFirBuilderLazyBodiesTestCase for newly added tests
2022-08-10 22:49:23 +02:00
Ilya Kirillov
da9cf1468c
[FIR] add KDoc to lazy resolution functions
2022-08-10 22:49:19 +02:00
Ilya Kirillov
0748f28efe
[FIR] rename ensureResolve -> lazyResolveToPhase as it better describes function semantics
2022-08-10 22:49:18 +02:00
Ilya Kirillov
28b159ef85
[LL FIR] fix lazy resolve of accessors with implicit types
...
Before the change, such accessors would have implicit types event if the corresponding property had a resolved one
2022-08-10 22:49:17 +02:00
Ilya Kirillov
97853016d5
[LL FIR] fix lazy resolve of accessors generated by delegation
...
Before the change, such accessors would have implicit types event if the corresponding property had a resolved one
2022-08-10 22:49:16 +02:00
Ilya Kirillov
e12a800b2d
[LL FIR] fix lazy resolve of FirDefaultPropertyAccessor
...
FirDefaultPropertyAccessor was hardcoded and thus lazy resolution was not able to update it after resolution
2022-08-10 22:49:16 +02:00
Ilya Kirillov
107a8e4d92
[FIR] create error type ref for parameter when one is required instead of implicit type in RawFirBuilder
...
Needed to avoid failure during lazy resolving of corresponding declarations in the IDE
^KTIJ-22357 fixed
2022-08-10 22:49:16 +02:00
Ilya Kirillov
f45f1ba3dc
[Analysis API] do not create multiple attachments inside exceptions
2022-08-10 22:49:14 +02:00
Ilya Kirillov
ddbd89aea7
Simplify copying attachment in KotlinExceptionWithAttachments
2022-08-10 22:49:14 +02:00
Ilya Kirillov
0f6f901179
[LL FIR] render type parameters resolve phase in tests
2022-08-10 22:49:13 +02:00
Ilya Kirillov
56e6d5d6b9
[Analysis API] do not preresolve all FirDeclarations to TYPES in tests
...
Previously, we resolved all declaration to the TYPES phase to collect their sealed inheritors
and thus not really checking lazy resolution to TYPES.
Now sealed class inheritors collection happens in separate LLFirResolveSession
2022-08-10 22:49:13 +02:00
Ilya Kirillov
4d5f1dc1bb
[FIR] do not fail when Continuation classes not found in classpath
2022-08-10 22:49:12 +02:00
Jinseong Jeon
d0a8eb5c54
AA FIR: use resolved annotation argument mapping
2022-08-10 17:34:48 +02:00
Jinseong Jeon
56a5d883c0
AA FIR: handle (aliased)? annotation w/ vararg parameter
2022-08-10 17:34:48 +02:00
Pavel Kunyavskiy
18cda8844d
[K/N] Fix possible data races found by thread sanitizer
2022-08-10 08:36:07 +00:00
Vsevolod Tolstopyatov
fdd541c1e9
Introduce runtime ClassValue-based cache for typeOf machinery
...
* Cache KType instances constructor from the given classifier
* For generics, cache KTypes with already substituted arguments
* It significantly speeds up all typeOf-based APIs, both accesses to typeOf and its related properties (i.e. classifier)
#KT-53508
Merge-request: KT-MR-6818
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com >
2022-08-09 18:40:32 +00:00
Artem Kobzar
87038e7d8a
[K/JS] feat: add logic under the flag for strict implicit export generating inside d.ts files.
2022-08-09 16:48:59 +00:00
Alexander Korepanov
bb8da65188
[Common IR] Do inlining of callable references of inline functions
...
^KT-52805 Fixed
2022-08-08 17:40:45 +00:00
Pavel Kunyavskiy
3424e756ad
[K/N] Fix for instantiating annotations from already lowered file
...
If annotation class is already lowered, it can have more than one
constructor. So we should use primary one, not any one.
^KT-53475
2022-08-08 16:35:22 +00:00
Vsevolod Tolstopyatov
c6cbab43f7
Introduce KClass-based cache for KPackageFragment
...
* It is a heavy-weight object that is hard to compute
* It is being constructed each type _cached_ method ref is used in equals/hashCode
* Module name is deliberately ignored, corresponding doc is added where appropriate
#KT-48136
Merge-request: KT-MR-6817
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com >
2022-08-08 15:57:56 +00:00
Alexander Korepanov
794229d012
[box-tests] Add tests about anonymous classes uplifting
...
^KT-50175 Fixed by commits before
2022-08-08 08:39:59 +00:00
Igor Chevdar
c5eb6fb562
[IR] Fixed a bunch of bugs near local objects in inline lambdas
2022-08-08 08:39:58 +00:00
Igor Chevdar
e38f02b53a
[box-tests] Added a bunch of tests on local objects in inline lambdas
2022-08-08 08:39:57 +00:00
Igor Chevdar
7090a2716a
[box-tests] Made test Native-specific
...
Seems like other backends don't like top level lateinit properties
2022-08-07 08:23:41 +03:00
Igor Chevdar
6799988227
[box-tests] Added a multi-module test on lateinit properties
2022-08-06 17:40:27 +00:00
Igor Chevdar
8041692144
[box-tests] Disabled a test for K/N
...
The test isn't passing when using K/N per-file caches and in order to fix it,
some hacks are required, which isn't worth it considering that test contains invalid code.
2022-08-06 17:40:26 +00:00
Igor Chevdar
7e4f94ed2c
[IR] Fix for per-file caches support in K/N
2022-08-06 17:40:25 +00:00
Igor Chevdar
030e3b306f
[K/N][build] Added -Xmake-per-file-cache compiler option
2022-08-06 17:40:24 +00:00
Igor Chevdar
7e79b2b500
[K/N][IR][codegen] Preliminary support of per-file caches
2022-08-06 17:40:23 +00:00
Mikhail Glukhikh
2598ecf23f
Revert "K2: fix internal visibility checks for overrides #KT-53197 Fixed"
...
This reverts commit 166965e559 .
2022-08-05 18:26:59 +02:00
Vsevolod Tolstopyatov
14b13a2f17
[kotlin.reflect] Introduce ClassValue-based cache for KClassImpl
...
* Replace pcollections with ClassValue/ConcurrentHashMap-based caches
* Do not store weak references, instead cache strong references and count on ClassValue to unload the corresponding classloader if necessary
* ConcurrentHashMap does not rely on WeakReference as it's only selected on Android where classloader leaks don't exist
* Update reflect/scripting JDK requirement to Java 8 in order to proceed
#KT-53454
#KT-50705
Merge-request: KT-MR-6788
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com >
2022-08-05 15:35:34 +00:00
Ivan Kochurkin
09a72fd679
Extract immutable arrays to fields in IrBuiltInsOverFir
2022-08-05 13:20:41 +00:00
Ivan Kochurkin
c0fe14a091
Make myExpressionParsing final (Parser)
2022-08-05 13:20:41 +00:00
Ivan Kochurkin
daeb41b411
Minor fixes in parser
2022-08-05 13:20:40 +00:00
Ivan Kochurkin
1d73d4cfbf
Reduce allocations in lastDotAfterReceiver (parsing)
2022-08-05 13:20:40 +00:00
Ivan Kochurkin
cf190f0cf2
Use switch case statement instead of sequence of if comparisons in parser
2022-08-05 13:20:39 +00:00
Ivan Kochurkin
6bb2af142c
Use static initialization for token sets that are used in expect method in Kotlin parser
2022-08-05 13:20:39 +00:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Sergej Jaskiewicz
2ece4f4dbf
[JS IR] Improve the precision of execution of stepping tests
2022-08-05 11:53:40 +00:00
Hung Nguyen
98349411fb
Always compile non-incrementally if incremental state is missing
...
Test: Updated IncrementalCompilationClasspathSnapshotJvmMultiProjectIT.
.testMissingIncrementalState
^KT-53231 Fixed
2022-08-05 07:45:24 +00:00