Nikolay Lunyak
44d6d10233
[FIR] Only check conflicting callables that may clash with declared ones
...
This change improves performance, as
checking callables via scopes in
`4e587157` turns out to be quite
slow, and it also prevents some redundant
diagnostics.
2023-11-15 07:56:32 +00:00
Iaroslav Postovalov
a3b55cf758
[IR] Drastically simplify the hierarchy of IR origins
...
IrStatementOriginImpl and IrDeclarationOriginImpl were made final
classes to simplify the creation of them (a delegate provider was
added) and to optimize performance when comparing the origins by type
and name
2023-11-13 17:56:09 +00:00
Ilya Chernikov
a47ee44e65
Scripting: refactor test infrastructure - add missing stderr handling
2023-11-10 17:24:12 +00:00
Leonid Startsev
4fa121071a
Update kotlinx-serialization dependency for serialization compiler plugin tests.
...
Properly set up dom-api-compat dependency for JS IR tests. Since this dependency is added
automatically for every Kotlin/JS library, it should be present during tests just as stdlib.
As a result, tests for serializable enums were changed since 1.6.0 runtime does not require enums to be explicitly serializable.
2023-11-10 14:14:04 +00:00
Roman Golyshev
500dd20277
KT-63096 [LL] Add test for using annotation from other module for compiler plugin
2023-11-09 23:39:32 +00:00
Brian Norman
0d36462c58
[Parcelize] Align checker and generator on valid Parcelize classes
...
A previous fix to the generator made the generator and checker
validation of classes which could be parcelized different. The checker
would report error in cases where the generator would not generate
anything. Align these checks, with improved code sharing, so errors are
not reported on classes which will not have parcelize components
generated.
^KT-63086 Fixed
2023-11-08 14:35:28 +00:00
Brian Norman
f8ee8adfde
[Parcelize] Fully expand type aliases when checking for RawValue
...
^KT-61432 Fixed
2023-11-08 12:48:36 +00:00
Ilya Chernikov
02dc3c4ddb
K2 Scripting: add annotation resolving for scripts
...
#KT-62400 fixed
2023-11-03 21:54:23 +00:00
Ilya Chernikov
31f9e9e7a8
K2 Scripting: implement basic metadata serialization support
...
#KT-62305 fixed
NB: kotlin reflection do not see script class constructor after
this change, and it's ok, since the fact that the script is compiled
into a class is an implementation detail.
If needed, java reflection could be used to access the constructor.
2023-11-03 21:54:23 +00:00
Alexander Udalov
968dfddbc9
Tests: adjust test data for bytecode listing tests
...
- remove obsolete `IGNORE_BACKEND: JVM` directives
- move contents of .ir.txt files to the corresponding .txt
2023-11-02 10:59:29 +00:00
Alexander Udalov
1cf04916d6
Tests: remove bytecode listing tests for old JVM backend
...
These tests are mostly used to check ABI in case you're compiling a
library or library-like code, which is no longer possible (since old JVM
backend is only used in the IDE).
2023-11-02 10:59:29 +00:00
Kirill Rakhman
ac203591e5
[FE, Java resolve] Support inheritors of sealed Java type without permits clause
...
This fixes a false negative NO_ELSE_IN_WHEN in K2 and incidentally
also fixes a false positive NO_ELSE_IN_WHEN in K1 since the fix is in
the common code.
#KT-62491 Fixed
2023-10-31 13:41:56 +00:00
Kirill Rakhman
87563f3aea
[FIR] Rename diagnostic renderers that insert quotes and fix some messages
...
#KT-62386
2023-10-27 13:27:35 +00:00
Dmitrii Gridin
f66bb1bcb7
[FIR] FirScriptConfiguratorExtensionImpl: avoid creation of dummy elements
...
This will reduce memory and CPU consumption
^KT-61186
2023-10-25 19:00:20 +02:00
Dmitriy Novozhilov
fb8bf19091
[IR] Rename IrSymbolInternals to UnsafeDuringIrConstructionAPI
...
The new name more precisely describes the meaning of this opt-int
2023-10-25 11:32:46 +00:00
Ivan Kochurkin
1827df82c4
Removed useless as casts from compiler code
...
It allows compiling code with K2 and enabled `-Werror`
2023-10-24 20:59:56 +00:00
Ivan Kochurkin
bb937a8a21
[FIR] Initialize annotations in FirErrorTypeRef
...
^KT-62447 Fixed
^KT-62628 Fixed
2023-10-24 10:53:33 +00:00
Mikhail Glukhikh
cebb6747e3
K2: drop unnecessary attributes when inferring declaration types
...
Related to KT-62578
2023-10-20 12:38:19 +00:00
Mikhail Glukhikh
90eaf5f70f
K2: introduce val ConeAttribute.keepInInferredDeclarationType
2023-10-20 12:38:19 +00:00
Dmitrii Gridin
0b45c6ce23
[FIR] FirScriptConfiguratorExtensionImpl: provide source for script parameters
...
We need this source to be able to find the parent declaration
^KT-62693 Fixed
2023-10-20 09:27:21 +00:00
strangepleasures
6a2cea8a8e
[KAPT4] KT-62097 Keep import statements for unresolved annotation classes
2023-10-20 08:33:17 +00:00
Nikolay Lunyak
a68a2409d3
[FIR] Remove the applicability filtering when reporting diagnostics
...
In case we don't want to introduce any new
abstractions like "user relevance for
applicability", we can just remove the
filtering.
^KT-62541 Fixed
2023-10-19 09:27:45 +00:00
vladislav.grechko
897eab6b50
Do not add nullability annotations to the methods of local classes
...
Nullability annotations are useless for the methods of local classes
due to their restricted scope.
^KT-62513: Fixed
2023-10-18 19:48:38 +00:00
Mikhail Glukhikh
4ed7504d87
FIR deserializer: apply attributes on type parameter-based types
...
#KT-62578 Fixed
2023-10-18 10:30:31 +00:00
Leonid Startsev
dcfc20f1ff
Do not attempt to get field initializer if it is not available.
...
This may happen on Native if the property is in another module.
#KT-62522 Fixed
Related to: KT-62523
2023-10-13 14:27:36 +00:00
Svyatoslav Kuzmich
0295057520
Refactor: extract test generation regexp into a common util object
2023-10-12 13:26:58 +00:00
Svyatoslav Kuzmich
a10042f909
[Wasm] Add K2 checkers.wasm module (KT-56849)
...
Add first K2 checker ExternalInheritanceChecker to test the infra
2023-10-12 13:26:58 +00:00
Mikhail Glukhikh
9d3bf69212
Raw FIR/LT: use similar sources for delegated constructor calls
...
After this commit all IR source range tests behave in the same way
for FIR/PSI and FIR/LT, test data is now consistent
2023-10-10 13:38:52 +00:00
vladislav.grechko
29eb1c7a63
Do not add nullability annotations to the methods of anonymous classes
...
Nullability annotations are useless for the methods of anonymous classes
due to their restricted scope.
^KT-62044: Fixed
2023-10-10 10:34:33 +00:00
Nikolay Lunyak
2e7dcd6096
[FIR] Require overrides to have matching isSuspend flag value
...
^KT-57100 Fixed
2023-10-09 06:55:43 +00:00
Nikolay Lunyak
4e58715760
[FIR] Check conflicting overloads via scopes
...
Scopes may return private symbols from
supertypes, they should not clash with
symbols from the current class.
For example, see:
`FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.FakeOverride#testPrivateFakeOverrides1`
Lombok shouldn't generate functions if the
user has defined explicit ones.
In K1 generated functions are not really
added to the declared members scope.
^KT-61243 Fixed
2023-10-09 06:55:43 +00:00
Ilya Gulya
f6b2c642c2
Support kotlinx.collections.immutable in kotlin-parcelize plugin
...
#KT-57685 Fixed
Co-authored-by: Ilya Gulya <ilyagulya@gmail.com >
2023-10-02 23:29:43 +00:00
Alexander Udalov
72b5123fc8
JVM: reduce usages of GenerationState in favor of JvmBackendConfig
...
To help in decoupling JVM IR from the old JVM backend.
2023-10-02 14:58:23 +00:00
Vladimir Sukharev
690d18e541
[K/N, Test] Move test code "org.jetbrains.kotlin.konan" -> "org.jetbrains.kotlin.konan.test.*"
2023-09-22 17:27:09 +00:00
Ilya Kirillov
d98da87278
[FIR] Render dot-separated FQNs instead of slash-separated ones in diagnostics
...
^KT-62030 fixed
2023-09-22 10:48:31 +00:00
Dmitriy Novozhilov
9e5ee3afa0
[FE] Add isLocal name to ClassId constructor calls where it needed
2023-09-21 12:40:44 +00:00
Mikhail Glukhikh
a77b758efa
LV 2.0: drop reporting FIR_COMPILED_CLASS and relevant stuff
...
#KT-62056 Fixed
Related to KT-59171, KT-61951
2023-09-21 11:14:09 +00:00
Nikolay Lunyak
ec9cb8beb6
[FIR] Rename JvmNames -> JvmStandardClassIds
...
This is more consistent with the code of
the common compiler checkers.
It would be nice to refactor the contents
of this object further, but it's out
of scope of the current branch.
^KT-54596
2023-09-19 22:14:09 +00:00
Nikolay Lunyak
986f1624ec
[FIR] Remove jvm-specific annotations from common compiler code
...
^KT-54596 Fixed
2023-09-19 22:14:09 +00:00
Ilya Chernikov
0aff76141b
Fix comment on testScriptWithoutParams
2023-09-19 15:46:30 +00:00
Mikhail Glukhikh
45a12e0cfd
LV 2.0: fix JvmIdeServicesTest.testDependency by allowing unstable deps
2023-09-19 15:46:29 +00:00
Yahor Berdnikau
e71f86ee98
[repo] Fix configuration cache issues in scripting-compiler project
2023-09-19 15:46:28 +00:00
Ilya Chernikov
8a10070772
LV20 update scripting test mute logic for K2
...
after switching to LV20 by default
2023-09-19 15:46:28 +00:00
Ilya Chernikov
5b64741609
LV20: unmute scripting test
...
the test doesn't fail anymore, but should
see #KT-60452
2023-09-19 15:46:28 +00:00
Ilya Chernikov
c639febf36
LV20: remove redundant scripting plugin registration
...
related to #KT-61452
2023-09-19 15:46:28 +00:00
Ilya Chernikov
7cbe728e35
LV20: mute scripting test testLazyScriptDefinitionDiscovery
2023-09-19 15:46:28 +00:00
Ilya Chernikov
e3dae559d0
LV20: refactor K2 scripting tests - rename tasks
2023-09-19 15:46:27 +00:00
Ilya Chernikov
2c4cca5785
LV20: fix K2 scripting tests - plugin registration
2023-09-19 15:46:27 +00:00
Mikhail Glukhikh
2a8b655294
Update tests after switching to LV 2.0
...
Related to KT-59171
2023-09-19 15:46:27 +00:00
strangepleasures
c31a3869c6
[KAPT] Fix package names org.jetbrains.kotlin.base.kapt3 -> org.jetbrains.kotlin.kapt3.base
2023-09-15 19:36:30 +00:00