Egor Kulikov
5bb4f469ef
[FIR] Do not throw exception on unexpected FIR for constants
...
^KTIJ-23263 fixed
Merge-request: KT-MR-10699
Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com >
2023-06-19 17:45:31 +00:00
vladislav.grechko
e4f1c10bc1
[JVM_IR] Do not compile-time evaluate apiVersionIsAtLeast in stdlib
...
Function `apiVersionIsAtLeast` was introduced to be able to have
different inline function content inlined to user code call sites
depending on their api version settings. Thus, it should not be
compile-time evaluated when being called in the body of inline stdlib
function.
^KT-59452: Fixed
2023-06-19 16:24:57 +00:00
Roman Golyshev
adab552928
KTIJ-25530 [Analysis API] Correctly collect references to implicitly dispatched callables in Import Optimizer
...
N.B. There is a case which is not covered ATM due to the bug in the
compiler, see KT-58980
^KTIJ-25530 Fixed
2023-06-19 16:02:09 +00:00
Mikhail Zarechenskiy
060f3fa7c4
Extract diagnostics about class literals with empty LHS
...
^KT-59152
2023-06-19 15:21:32 +00:00
Mikhail Zarechenskiy
1153238fd7
Extract diagnostics about references to variables to a separate one
...
Note that I've left in FIR everything as is to avoid non-trivial
refactoring that is required right now to report more specific diagnostics
^KT-59152
2023-06-19 15:21:32 +00:00
Mikhail Zarechenskiy
9cf40f8c2f
Extract diagnostics about 'suspend test' to a separate one
...
^KT-59152
2023-06-19 15:21:32 +00:00
Mikhail Zarechenskiy
2dfdd8dcf6
Extract diagnostics about 'sealed fun interface' to a separate one
...
^KT-59152
2023-06-19 15:21:32 +00:00
Mikhail Zarechenskiy
d772126f2c
Extract diagnostics about 'sealed when' to a separate one
...
^KT-59152
2023-06-19 15:21:32 +00:00
Mikhail Zarechenskiy
c613b312f9
Refactoring: inline single-used method, move checker closer to the usage
2023-06-19 15:21:32 +00:00
Mikhail Zarechenskiy
ab7ae75f66
Remove unused method
...
Note that `yield` was allowed since 1.7.0: KT-27750
2023-06-19 15:21:32 +00:00
Mikhail Zarechenskiy
1df4893a43
Extract diagnostics about an unsupported case of inheritance from Java
...
^KT-59152
2023-06-19 15:21:32 +00:00
Svyatoslav Scherbina
de78f52bc9
Bump Kotlin/Native version to 1.9.20-dev-4192
2023-06-19 13:45:28 +00:00
Evgeniy.Zhelenskiy
2d920df507
[IR] Fix KT-59346, KT-55993
...
#KT-59346
#KT-55993
2023-06-19 12:36:08 +00:00
Abduqodiri Qurbonzoda
e802ee05a7
[K/N] Do not override equals/hashCode for AbstractMutableMap.values collection
2023-06-19 11:41:10 +00:00
Abduqodiri Qurbonzoda
6015e12db8
[K/N] Remove redundant AbstractMutableMap.SimpleEntry
2023-06-19 11:41:10 +00:00
Abduqodiri Qurbonzoda
3be613ced8
[K/N] Use iterator in AbstractMutableList.indexOf/lastIndexOf
...
Instead of access by index. To avoid performance issues
when the subclass `get(index)` has non-constant time complexity.
It also aligns behavior with JVM.
2023-06-19 11:41:10 +00:00
Abduqodiri Qurbonzoda
60cafc6623
Document the exceptions Iterator throws
2023-06-19 11:41:10 +00:00
Abduqodiri Qurbonzoda
4ae19b2b44
[K/N] Deprecate SharedImmutable annotation #KT-57837
...
As a part of efforts to stabilize Native stdlib.
2023-06-19 11:35:32 +00:00
Abduqodiri Qurbonzoda
0cfb80144a
[K/N] Throwable.printStackTrace() should print to the stderr output
...
Aligns with the JVM behavior.
As a part of efforts to stabilize Native stdlib.
2023-06-19 11:30:13 +00:00
Dmitriy Novozhilov
d972b78627
[FIR] Allow actualization of expect classes by classes with wider visibility
...
^KT-59355 Fixed
2023-06-19 11:09:32 +00:00
Anna Kozlova
583aad2350
[LL] spare some memory on lists
...
By default, a list with a single element would have capacity of 10;
in big numbers, it might be a lot of wasted memory.
2023-06-19 10:33:12 +00:00
Ilya Goncharov
0afe712f07
[Gradle, JS] Test on changing of synced files since 7.6 Gradle
2023-06-19 09:14:27 +00:00
Dmitrii Krasnov
a5c72925a0
Fixed testSyncFrameworkMultipleArchitecturesWithCustomName
...
#KT-51553 In Progress
2023-06-19 10:43:46 +02:00
Brian Norman
8ac59592ed
[FIR] Add DFA implications when one side of an Elvis operator is null
...
When one side of an Elvis operator can only be `null`, and the entire
Elvis operator expression cannot be `null`, this implies that the
opposite side of the Elvis operator cannot be `null`. Add such
implications to the Elvis exit node of the DFA. This helps smart-casting
of variables used within long Elvis operator chains.
#KT-49249 Fixed
2023-06-19 08:17:47 +00:00
Nikolay Lunyak
110cc79ddd
[FIR] Improve debugging of diagnostic ranges
...
`UNREACHABLE_CODE` is weird.
If we look into its
positioning strategy,
we'll see that this diagnostic
attempts to split the source
of its element into multiple ranges.
This is bad, because such smaller
ranges can easily overlap with other
diagnostics in such a way that
they are no longer hierarchical.
See the
`compiler/tests-spec/testData/diagnostics/notLinked/dfa/neg/3.kt` test
for an example of this behavior
(allow reporting `UNREACHABLE_CODE`
first). The problem will appear at
the condition of `case_7`.
2023-06-19 07:40:16 +00:00
Nikolay Lunyak
7541732752
[FIR] Fix TEST SPEC tests
...
Ensure the test data contents for both the frontends
are identical. This is needed for proper analysis of
K2-differences.
2023-06-19 07:40:15 +00:00
Abduqodiri Qurbonzoda
e6633d3d92
[K/N] Document that Throwable.stackTraceToString format is unstable
...
As a part of efforts to stabilize Native stdlib.
Merge-request: KT-MR-10637
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com >
2023-06-17 20:15:55 +00:00
Dmitrii Gridin
8cdba7b9e7
[LL FIR] KtFirVisibilityChecker: use getOrBuildFirSafe instead of resolveToFirSymbol againg
...
It is unexpected, but getOrBuildFirSafe here now works better than resolveToFirSymbol
^KT-59266
^KT-59453 Fixed
2023-06-17 18:04:59 +00:00
Dmitrii Gridin
72c625906f
[LL FIR] add tests on ClassIdCalculator
2023-06-17 13:58:24 +02:00
Dmitrii Gridin
fc7712148e
[LL FIR] avoid ClassId computation to check isLocal
2023-06-17 13:58:24 +02:00
Dmitriy Dolovov
56bebeaf92
[KLIB] Extract "ir_provider" manifest property name as a const val, p.2
2023-06-17 01:00:04 +00:00
Alexander Udalov
04998cff8a
Kapt+JVM_IR: fix error on delegation to anonymous object
...
In kapt stub generation mode, psi2ir does not generate bodies of
declarations. This means that the delegate type was translated into an
IrType which is based on a class which is not generated by psi2ir, thus
leading to an unbound symbol error. The fix is to avoid using anonymous
types for delegate fields in this mode.
#KT-59211 Fixed
2023-06-16 23:03:39 +00:00
Alexander Udalov
fd4e59f279
Kapt+JVM_IR: do not generate bodies of enum entries
...
#KT-59247 Fixed
2023-06-16 22:48:11 +00:00
Abduqodiri Qurbonzoda
91f0c3c342
Clarify copyToRecursively doc about symlinks #SDP-1816
...
This MR is the result of the security audit that was conducted for Path recursive functions:
https://youtrack.jetbrains.com/issue/SDP-1816/Security-issues-of-Path-recursive-functions-in-StdLib#focus=Comments-27-7269144.0-0
Eliminates confusions regarding symbolic links.
Merge-request: KT-MR-10245
Merged-by: Abduqodiri Qurbonzoda <abduqodiri.qurbonzoda@jetbrains.com >
2023-06-16 22:40:56 +00:00
Abduqodiri Qurbonzoda
295fdc36ce
Enum.valueOf throws inconsistent exception across multiple platforms #KT-35116
2023-06-16 22:18:20 +00:00
Abduqodiri Qurbonzoda
d6867917c9
Enum entry hashCode() should return identity hash code #KT-59223
2023-06-16 22:18:20 +00:00
Timofey Solonin
19c6622ff6
[MPP] Remove obsolete targets from NewMultiplatformIT and ConfigurationCacheIT
...
^KT-58822
2023-06-16 18:44:03 +00:00
Hung Nguyen
078356164b
IC: Fix regression in detecting constants in KotlinClassInfo.kt
...
A constant is a static final field with non-null value. In a previous
commit (0b09be7 ), we accidentally removed the *non-null value*
filter when looking for constants in the bytecode.
This commit re-adds that filter to make sure the detection is correct.
Test: Added KotlinOnlyClasspathChangesComputerTest.testDelegatedProperties
^KT-58986: Fixed
2023-06-16 18:40:01 +00:00
Hung Nguyen
ff612f15cf
IC: Small cleanup in KotlinClassInfo.kt
...
This is to address the not-yet-resolved comments in
https://github.com/JetBrains/kotlin/pull/5127 , plus a few other small
(non-functional) changes.
^KT-58986: In progress
2023-06-16 18:40:00 +00:00
Timofey Solonin
cba7154e8a
[MPP] Remove broken execution test and replace obsolete targets in CommonizerIT with curl
...
^KT-58822
2023-06-16 18:05:54 +00:00
Mikhail Glukhikh
d5a02960d8
K2 plugins: set proper 'expect' flag for all member declarations
...
Related to KT-59299
2023-06-16 17:55:46 +00:00
Mikhail Glukhikh
8e882ea797
K2 plugins: create companions with same expect/actual as their owners
...
#KT-59299 Fixed
2023-06-16 17:55:45 +00:00
Vyacheslav Gerasimov
77e5f077f3
Update Dependency verification section in ReadMe.md
2023-06-16 17:27:32 +00:00
Timofey Solonin
5df50c0fca
[MPP] Remove obsolete targets from CommonizerHierarchicalIT.commonizeHierarchically
...
^KT-58822
2023-06-16 17:20:58 +00:00
Brian Norman
0ff9982b31
[FIR] Additional errors to distinguish resolution to classifier cases
...
When a call is resolved to a classifier, only a single error message was
being used for multiple cases. This lead to confusion as the default
message may not be applicable to a given error case. Added additional
errors and messages to distinguish between these error cases.
#KT-57251 Fixed
2023-06-16 16:26:50 +00:00
Alexander.Likhachev
ac79633590
[Gradle] Register default kapt classes dir as an output
...
#KT-59256 Fixed
2023-06-16 15:42:59 +00:00
Alexander.Likhachev
b23b9ab287
[Gradle] Add an integration test for KT-59256
2023-06-16 15:42:59 +00:00
Dmitrii Gridin
13732881a6
[AA FIR] reduce resolve calls
...
^KT-59266
2023-06-16 14:47:49 +00:00
Dmitrii Gridin
87ca9e4203
[LL FIR] reduce resolution inside getOrBuildFirFor
...
We can avoid body resolution in some cases because it is more
than out contract is required
So ANNOTATIONS_ARGUMENTS_MAPPING should be enough for all
non-body parts of a declaration to return fully-resolved FirElement
Body parts incudes: body and default values
^KT-59266 Fixed
2023-06-16 14:47:49 +00:00
Dmitrii Gridin
b9e24e9b19
[LL FIR] add more tests on getOrBuildFirFor
...
^KT-59266
2023-06-16 14:47:49 +00:00