Denis.Zharkov
13febaf978
Adjust tests for JSR305 annotations being extracted
...
See the previous commits
2023-03-16 14:43:04 +00:00
aleksandrina-streltsova
34c739789f
[AA] Fix rendering for type variable with "Type is not inferred"
...
It is required to show type variable name instead of ERROR in completion
^KTIJ-20913
2023-03-16 13:57:56 +00:00
Nikolay Lunyak
967ddb8bb0
[FIR] KT-57211: Generate FirArrayOfCall for unsigned types
...
^KT-57211 Fixed
Merge-request: KT-MR-9216
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-03-15 17:05:09 +00:00
Nikolay Lunyak
d639215084
[FIR] KT-57095: Allow X? -> * assignments in unification
...
^KT-57095 Fixed
Merge-request: KT-MR-9180
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-03-15 13:56:51 +00:00
Mikhail Glukhikh
58959951d3
K2: fix CCE during bound conversion for Java raw Kotlin-based type
...
#KT-56630 Fixed
2023-03-15 13:40:49 +00:00
Alexander Korepanov
e3402fcc87
[K2 JS] Do not load transitive dependencies for building K2/JS klibs
...
^KT-57262 Fixed
2023-03-15 10:49:54 +00:00
Pavel Kunyavskiy
62fb3df7f0
[K/N] Disable scope initialization on constant access
...
^KT-57098
2023-03-15 09:03:19 +00:00
Alexander Udalov
f0fba7be64
K2: add bytecode listing tests
...
#KT-57171 Fixed
2023-03-14 21:57:26 +01:00
Ivan Kylchik
d2e92fd70d
Add additional test cases and notes for KT44429
2023-03-14 20:47:45 +00:00
Ivan Kylchik
4fc95624a0
Rename attributeOwnerIdBeforeInline to originalBeforeInline
2023-03-14 20:47:44 +00:00
Ivan Kylchik
0af4ef8ee9
Fix typo in test name: inlinInDefault -> inlineInDefault
2023-03-14 20:47:43 +00:00
Ivan Kylchik
86b3ec73d1
Add new set of tests to run JVM checks with IR inliner
2023-03-14 20:47:42 +00:00
Ivan Kylchik
bb401c39d9
Add several new SMAP tests
...
Some of them are still failing and suppose to be
fixed later
2023-03-14 20:47:39 +00:00
Ivan Kylchik
60702f0f02
Add new filed attributeOwnerIdBeforeInline to IrAttributeContainer
...
This field is null by default, and it is set to current
`attributeOwnerId` when declaration was inlined and must be
generated with new name. In its turn `attributeOwnerId` must be set to
`this` to show that this is actually a new declaration, not a copy.
2023-03-14 20:47:35 +00:00
Pavel Kunyavskiy
dc2e072af2
[K/N] Make exception handling in initializers more consistent with jvm
...
^KT-57091
2023-03-14 12:59:14 +00:00
Nikolay Lunyak
c105e63bbb
[FIR] KT-57214: Check the annotations "if possible"
...
^KT-57214 Fixed
Merge-request: KT-MR-9170
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-03-14 10:25:02 +00:00
Kirill Rakhman
471ecf62c8
[FIR] Fix UNRESOLVED_REFERENCE in callable reference to delegated var
...
#KT-57204 Fixed
2023-03-14 09:13:42 +00:00
Kirill Rakhman
d20ad67aa9
[FIR] Introduce extension unwrapFakeOverridesOrDelegated()
2023-03-14 09:13:41 +00:00
vladislav.grechko
35dfcb61bb
Fix specialization of equality comparison calls for inline classes
...
Receiver of equals() call should be checked instead of argument
^KT-57261: Fixed
2023-03-13 23:39:35 +00:00
vladislav.grechko
8039e30bbd
Fix condition of generating equals-impl0 call
...
This methods should not be called when instances of different inline
classes are being compared
^KT-57242: Fixed
2023-03-13 23:39:34 +00:00
Evgeniy.Zhelenskiy
948714e7e5
[IR] Fix delegating MFVC constructors
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-13 19:49:10 +01:00
Nikolay Lunyak
5505fd207e
[FIR] KT-57195: Don't approximate ft when checking override return types
...
Why does this check even exist? K1 doesn't do it.
^KT-57195 Fixed
2023-03-13 16:34:47 +00:00
Nikolay Lunyak
b385d787cc
[FIR JS] KT-57200: Allow dynamic varargs
...
^KT-57200 Fixed
2023-03-13 15:54:52 +00:00
Evgeniy.Zhelenskiy
888bf801e2
[FIR] Forbid @JvmInline with inline modifier
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-13 13:09:57 +00:00
Evgeniy.Zhelenskiy
3b5ad0681f
[IR] Fix compiler bugs with MFVC to let KorGE run
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-13 13:09:56 +00:00
Evgeniy.Zhelenskiy
19424702e0
[IR] Fix mutable shared reference of MFVC type
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-13 13:09:55 +00:00
Kirill Rakhman
9f33c64715
[FIR] Remove duplicate FirCallableSymbol.isStatic extension
2023-03-13 08:48:39 +00:00
Kirill Rakhman
b476eee6e3
[FIR2IR] Simplify generation of bound callable reference receivers
...
Remove a bunch of custom logic to determine when a callable reference is
bound or not (and hence mustn't have a receiver). Instead, a helper
extension is introduced to determine when a callable reference is bound
by checking if dispatch/extensionReceiver is not FirNoReceiver and the
referenced member is not static.
#KT-57253 Fixed
2023-03-13 08:48:39 +00:00
Mikhail Glukhikh
a3f0e429e3
K2: report empty intersection warnings from completion properly
2023-03-11 10:15:25 +00:00
Mikhail Glukhikh
47fab61716
FE: introduce AllowEmptyIntersectionsInResultTypeResolver feature
...
Related to KT-51221
2023-03-11 10:15:24 +00:00
Mikhail Glukhikh
b64cb67370
K2: support ForbidInferringTypeVariablesIntoEmptyIntersection on/off
2023-03-11 10:15:23 +00:00
Mikhail Glukhikh
f7544aff62
Delay ForbidInferringTypeVariablesIntoEmptyIntersection to 2.*
...
Note: here we set sinceVersion = null for this feature.
However, we plan in 1.9.* - 2.0 time frame to solve KT-56377
and to enable this feature in 2.0, the latest in 2.1.
2023-03-11 10:15:22 +00:00
Denis.Zharkov
a3dcc2032f
Drop RawTypeMarker as it's effectively unused anymore
...
See the previous commits
2023-03-10 18:35:01 +00:00
Denis.Zharkov
608cb01935
K2: Imitate K1 behavior for case of captured types with a raw supertype
...
See the comments in the code, but mostly the motivation is that once
it was decided to stick with such a legacy thing as raw types,
we are ok with some corner-cases hacks for them
(if there are not too many of them) and they don't break anything
when there are no raw types in the code.
^KT-56616 Fixed
2023-03-10 18:35:01 +00:00
Denis.Zharkov
eb09a25239
TypeSystemContext: Rework raw types processing
...
All the current usages are about checking if the type is raw,
also in K2 it is simply incorrect to assume that only flexible types
might be raw
2023-03-10 18:35:00 +00:00
Alexander Udalov
d96112b944
Remove dependency of fir2ir/fir.entrypoint on psi2ir
2023-03-10 17:49:35 +00:00
Nikolay Lunyak
4b8471d806
[FIR] KT-57247: Expand typealiases in annotation vararg arguments
...
^KT-57247 Fixed
2023-03-10 17:29:37 +00:00
Stanislav Ruban
5b0b7c4da4
KT-57206: Add diagnostics test
...
Problem described in KT-57206 seems to have been fixed by KT-56506. This
commit adds code example from KT-57206 as a diagnostics test.
^KT-57206 Fixed
2023-03-10 14:03:43 +00:00
Artem Kobzar
633d840c88
[K/JS] Deprecate external enum declarations
...
^KT-57254 Fixed
2023-03-10 12:55:43 +00:00
Alexander Udalov
6595275ba7
Remove ClassBuilderMode.ABI
...
It was a special mode used only by the removed legacy implementation of
jvm-abi-gen.
2023-03-10 12:24:50 +00:00
Alexander Udalov
77c68fc809
FIR: use ClassBuilderMode.FULL in FirMetadataSerializer
...
ABI is a special mode which is used only by the deprecated legacy
implementation of jvm-abi-gen. It is more reliable to use the standard
FULL mode to prevent divergence in behavior from normal compilation.
2023-03-10 12:24:49 +00:00
Pavel Mikhailovskii
164cbc9968
KTIJ-24768 Fix IllegalArgumentException in KtType.isPrimitiveBacked
2023-03-10 11:03:45 +00:00
Kirill Rakhman
0e721c8fc2
[FIR2IR] Fix generation of val initialization after smart-cast
...
If neither setter nor backing field were found for an assignment call,
search overridden properties for backing fields.
^KT-57105 Fixed
2023-03-10 09:30:51 +00:00
Kirill Rakhman
2706e5502f
[Tests] Add IR text tests for KT-57105
2023-03-10 09:30:51 +00:00
Marco Pennekamp
f9fb718b37
[AA] KT-56617 Optimize deprecation calculation for Java class symbols
...
- Most Java classes aren't deprecated. To avoid building `firSymbol`
in such cases, this commit adds a simple heuristic which checks the
class's annotations for the presence of one of the deprecation
annotations recognized by the Kotlin compiler.
- Note that annotations are compared via simple names, so there is a
slight margin of error. However, comparing class IDs is more costly in
my tests, because getting an annotation's class ID is not as cheap as
getting its simple name.
2023-03-09 18:35:59 +00:00
Marco Pennekamp
1c46d37663
[AA] KT-56617 Build FirClassSymbols for Java classes lazily
...
- Some completion performance tests (e.g. IntelliJ: "empty place typing
with library cache") spent a considerable amount of time in
`KtFirSymbolProviderByJavaPsi.getNamedClassSymbol`.
- This commit introduces `KtFirPsiJavaClassSymbol`, which implements
many `KtNamedClassOrObjectSymbol` properties with the `PsiClass`
instead of the FIR class. The `FirClassSymbol` is built only when
necessary. This improves performance when no "slow" properties need to
be computed for the symbol.
^KT-56617 fixed
2023-03-09 18:35:56 +00:00
Marco Pennekamp
9cc6809ec6
[FIR] Fix JavaClass.modality for annotation classes and enums
...
- `JavaClass.modality` should return the correct modality instead of
requiring the caller to handle annotation classes and enums.
2023-03-09 18:35:56 +00:00
Kirill Rakhman
d7880eb12c
[FIR] Refactor SpecificityComparisonWithNumerics
2023-03-09 13:00:54 +00:00
Kirill Rakhman
fa432d7f0d
[FIR] Prioritize double over float in overload resolution
...
#KT-57194 Fixed
2023-03-09 13:00:53 +00:00
Dmitriy Novozhilov
d5e6102ed9
[FIR] Properly check is some setter function is applicable for synthetic property
...
^KT-56506 Fixed
2023-03-09 12:32:49 +00:00