Kirill Rakhman
38f0ac332d
[FIR] Report INVISIBLE_REFERENCE in imports
...
#KT-55405 Fixed
2023-03-31 12:54:30 +00:00
Kirill Rakhman
7dde3603b5
[FIR] Report missing UNRESOLVED_IMPORT
...
#KT-54781 Fixed
2023-03-31 12:54:29 +00:00
Kirill Rakhman
f18591ffef
[FIR] Fix IllegalStateException on broken import
...
#KT-55316 Fixed
2023-03-31 12:54:28 +00:00
Kirill Rakhman
f035f80ad5
[FIR] Fix spelling and grammar of diagnostic messages
2023-03-31 10:35:09 +00:00
Dmitriy Novozhilov
b2e03035a9
[FIR] Properly load isExpect flag for constructors
...
^KT-57635 Fixed
2023-03-31 09:59:51 +00:00
Dmitriy Novozhilov
88d61173b6
[FIR] Don't run platform checkers during compilation to metadata
...
^KT-57376 Fixed
2023-03-31 09:59:51 +00:00
Denis.Zharkov
ca5789cec0
K2: Remove unreachable branch in when at SubstitutionOverrideCache
...
- It happens because FirSyntheticPropertySymbol <: FirPropertySymbol
- Also remove functions became unused
^KT-54345 Related
2023-03-30 14:43:30 +00:00
Nikolay Lunyak
7545472dd3
[FIR] Validate K2 diagnostic messages as a unit-test
2023-03-30 09:42:15 +00:00
Nikolay Lunyak
8096e94c88
[FIR] KT-57458: Ensure the current K2 behavior differs from K1
2023-03-30 09:42:15 +00:00
Nikolay Lunyak
f73ce25dbd
[FIR] KT-57457: Ensure deprecations have messages
...
^KT-57457 Fixed
2023-03-30 09:42:14 +00:00
Vladimir Sukharev
b9633375b4
[K2/N] KT-56030: Support Objective-C overloading by param names only
...
Merge-request: KT-MR-8901
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-03-30 09:37:57 +00:00
Nikolay Lunyak
12b11bd034
[FIR] KT-57568: Make K2 treat signed ints as more specific than unsigned
...
This is the way it works in K1.
See `OverloadingConflictResolver.kt:345`.
^KT-57568 Fixed
Merge-request: KT-MR-9395
Merged-by: Nikolay Lunyak <Nikolay.Lunyak@jetbrains.com >
2023-03-30 06:28:16 +00:00
Vladimir Sukharev
639b0cc525
Revert "[K2/N] KT-56190 Serialize simple const property initializers"
...
This reverts commit 2ace8ba9bd .
2023-03-29 18:00:09 +02:00
Dmitriy Novozhilov
fb97f4db87
[FIR] Don't create generated nested classifier scope for non-source classes
...
^KT-57626 Fixed
2023-03-29 15:18:37 +00:00
Denis.Zharkov
a8b9e8c44e
K2: Fix false-positive TYPE_MISMATCH for suspend lambdas
...
Why did the problem existed?
At first, lambdas were analyzed with suspend function expected type,
because it's the WHEN-case and we propagate expected type info to
the branches.
Then, after the lambdas was introduced to the containing inference
system, we're creating ResolvedLambdaAtom using the information
from analyzed lambda's shape, but didn't use known lambda resulting
type (from which we might infer FunctionTypeKind).
So, the fix is just using that already obtained information.
^KT-57446 Fixed
2023-03-29 15:02:26 +00:00
Denis.Zharkov
0056ac5f5a
K2: Clarify extractLambdaInfo contracts from its single usage
...
Currently, it's only been called once extractLambdaInfoFromFunctionType
returned null
2023-03-29 15:02:26 +00:00
Vladimir Sukharev
2ace8ba9bd
[K2/N] KT-56190 Serialize simple const property initializers
...
Merge-request: KT-MR-8623
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-03-29 13:26:43 +00:00
Denis.Zharkov
1071669a92
Fix project K2-bootstrapping when KT-57609 breaking change is introduced
2023-03-29 10:45:40 +00:00
Denis.Zharkov
55a58e54fe
K2: Rework scopes for types with projection arguments for Out types
...
The only case when behavior is change is described at
computeNonTrivialTypeArgumentForScopeSubstitutor
The idea is to avoid depending on the presence of @UnsafeVariance
and instead approximate captured types in covariant argument positions
before building substitution scopes
It's correct because for Captured(*) <: Supertype,
Out<Captured(*)> <: Out<Supertype> and when we've got @UnsafeVariance
value parameters at Out, it's ok to allow passing Supertype there.
^KT-57602 Fixed
^KT-54894 Fixed
2023-03-29 10:45:40 +00:00
Denis.Zharkov
d9ca77f716
K2: Fix false-positive RETURN_TYPE_MISMATCH_ON_OVERRIDE
...
The reason was that `substitutorByMap` ignored the difference between
`T` and `T?`
^KT-57001 Fixed
2023-03-29 10:27:49 +00:00
Kirill Rakhman
3b0c36da3f
[FIR] Fix ClassCastException when rendering ACTUAL_WITHOUT_EXPECT
...
#KT-57320
2023-03-29 10:19:47 +00:00
Dmitrii Gridin
19dbe69651
[FIR] move deprecations calculation on TYPES phase
...
can be moved to COMPILER_REQUIRED_ANNOTATIONS phase in the future
^KT-57256 Fixed
2023-03-29 08:52:37 +00:00
Nikolay Lunyak
f644eb7988
[FIR JS] Implement FirJsExportDeclarationChecker
2023-03-29 08:51:48 +03:00
Nikolay Lunyak
624162dc07
[FIR JS] Report NESTED_JS_EXPORT
2023-03-29 08:51:48 +03:00
Nikolay Lunyak
8f94899187
[FIR JS] Fix a typo in the dynamic upper bound check
...
`FirDynamicTypeRef` is the unresolved version, and after resolution it
becomes `FirResolvedTypeRef` with `ConeDynamicType`.
2023-03-29 08:51:48 +03:00
Nikolay Lunyak
2b5d2dc539
[FIR JS] Report rtti-related diagnostics
2023-03-29 08:51:48 +03:00
Kirill Rakhman
32cc28c6cf
[FIR] Skip expect-actual rules check when overriding non-expect member
...
Overriding equals, hashCode, toString and any other member that is not
expect does not require satisfying the rules of expect-actual matching.
#KT-57381 Fixed
2023-03-28 16:21:33 +00:00
Dmitriy Novozhilov
ef51cf9083
[AA] Ignore tests due to KT-57619
2023-03-28 15:35:12 +00:00
Dmitriy Novozhilov
e02194b461
[FIR] Properly prohibit access to enum companion in enum entry initialization section
...
^KT-57456 Fixed
KT-57608
2023-03-28 15:35:12 +00:00
Dmitriy Novozhilov
cbfa155333
[FIR] Make FirClass an inheritor of FirControlFlowGraphOwner
...
Both inheritors of FirClass (FirRegularClass and FirAnonymousObject)
already were CFG owners
2023-03-28 15:35:11 +00:00
Dmitriy Novozhilov
a9c1091140
[Test] Add test for KT-57456
2023-03-28 15:35:11 +00:00
Kirill Rakhman
1f0d56e157
[FIR] Make type parameters inaccessible for non-inner nested types
...
#KT-57209
2023-03-28 13:20:53 +00:00
Kirill Rakhman
c39ab956a0
[FIR2IR] Fix redundant let in Fir2IrDeclarationStorage
2023-03-28 12:47:42 +00:00
Kirill Rakhman
ee78c31174
[FIR2IR] Fix generation of Any method call on expect receiver
...
#KT-57583 Fixed
2023-03-28 12:47:42 +00:00
Kirill Rakhman
ed99f8bcdd
[FIR2IR] Remove redundant toMutableList
2023-03-28 12:47:41 +00:00
Mikhail Glukhikh
563781a246
K2: serialize data class equals / hashCode / toString functions
...
#KT-57510 Fixed
2023-03-28 09:30:02 +00:00
Mikhail Zarechenskiy
681e85eaed
Don't report unused variable warning for delegated variables with provide delegate
...
^KT-38871 Fixed
2023-03-27 13:46:13 +00:00
Kirill Rakhman
56da3c2ee2
[FIR] Bring conflicting overloads errors closer to K1 behavior
...
#KT-55860 Fixed
2023-03-27 11:56:16 +00:00
Dmitriy Novozhilov
62ad784b73
[FIR] Fix matching annotated predicate for java and binary declarations
...
^KT-57400 Fixed
2023-03-27 10:54:27 +00:00
Dmitriy Novozhilov
1ac7d13c96
[FE] Add regression test for KT-57036
2023-03-27 10:54:27 +00:00
Alexander Udalov
a962ec4553
Rework tests on Number.toChar with custom Number subclass
...
Simplify them, move to a subfolder, add a couple of new tests.
2023-03-27 10:46:15 +00:00
Dmitriy Novozhilov
a64d8e8a31
[Stdlib] Deprecate and make open Number.toChar()
...
^KT-46465 Fixed
2023-03-27 10:46:13 +00:00
Dmitriy Novozhilov
336b6ba9f0
[FIR] Extract extension functional type from an annotated functional type during deserialization
...
^KT-57140 Fixed
2023-03-27 10:44:51 +00:00
Dmitriy Novozhilov
8ca7b32577
[FIR] Register type related extensions in libraries sessions
...
^KT-57140
2023-03-27 10:44:50 +00:00
Dmitriy Novozhilov
a705bfe2cd
[Test] Add regression test for KT-57477
2023-03-27 10:44:50 +00:00
Marco Pennekamp
f9785c1050
[LL FIR] KT-57455 Avoid creating optional annotation class providers
...
- An `OptionalAnnotationClassesProvider` only needs to be created if the
package part provider may even have optional annotation classes.
- In the IDE case, the package part provider never provides optional
annotation classes, so especially in the IDE, we can avoid a lot of
useless symbol providers with this.
2023-03-27 10:38:50 +00:00
Alexander Udalov
d3be38476a
Merge K2 box tests to main box tests
2023-03-27 10:32:19 +00:00
Alexander Udalov
14c2030595
Merge K2 bytecodeListing tests to main bytecodeListing tests
2023-03-27 10:32:17 +00:00
Kirill Rakhman
60b227c519
[FIR] Sort HMPP dependencies topologically for symbol providers
...
This fixes an issue where an actual class from an intermediate module
has more supertypes than its expect declaration which leads to a
false-positive resolution error because a type reference resolves to the
expect class. The fix is to sort the dependencies topologically from
"most actual" to "most expect" when creating the list of symbol
providers.
#KT-57369 Fixed
2023-03-27 07:41:05 +00:00
Ivan Kylchik
f44d82ce6d
Add test to check that name field in Java enum is not constant
2023-03-24 15:55:07 +00:00