Dmitrii Gridin
1a01dd4dd4
[Analysis API] add diagnostic tests for unresolved reference inside primary constructor
...
^KT-62437
2023-10-13 17:13:14 +00:00
Yan Zhulanow
45a59f0a55
[LL API] Filter duplicating compiled callables inside FirSymbolProvider
...
Before the code fragment analysis was extracted to the separate module,
it was impossible to modify the symbol provider, so a conflict resolver
was patched instead. The solution was not complete, though, as it only
covered call resolution ambiguities. The compiler sometime calls a
symbol provider directly, like it's done in 'BuiltinSymbolsBase'.
Relevant tests are in the IntelliJ project (see singleBreakpoint/
conflictingStdlib.kt).
^KTIJ-27329 Fixed
2023-10-13 17:07:03 +00:00
strangepleasures
ac51e7b407
KT-61628 [KAPT] Re-enable testAndroidDaggerIC in K2
2023-10-13 16:23:14 +00:00
Mikhail Glukhikh
bf65297d48
FIR2IR: make both 'multiplexing' offset-conversion functions not inline
...
This commit prevents duplication of lambda source code while inlining
offset-conversion functions.
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
f501c3870d
FIR2IR: make source range for implicit invoke call similar to PSI2IR
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
fe979cc822
K2: add source range test with extension lambda call
...
This test is equivalent to IDE debugger test
testNoParameterExtensionLambdaArgumentCallInInline3,
which changes behavior due to previous commit
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
b7b7dd1000
FIR2IR: make sources of qualified accesses & calls closer to PSI2IR
...
#KT-60111 Fixed
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
7c66a3dc65
Add source range test around multi-line calls
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
0fb4c9b4fe
FIR2IR: generate specific sources for property accessors
...
Related to KT-60111
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
f38b8fd8cb
K2: reproduce KT-60111
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
c4ec576a99
FIR2IR: make *Assign call origins closer to PSI2IR
...
#KT-60261 In Progress
2023-10-13 15:42:58 +00:00
Mikhail Glukhikh
13ae4abe52
FIR2IR: use elvis temporary variable name closer to PSI2IR
...
Related to KT-61983
2023-10-13 15:42:57 +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
Artem Daugel-Dauge
9c1fa93607
[Gradle] Fix CocoaPods-Xcode tests
2023-10-13 14:03:45 +00:00
Roman Efremov
d09c3783fd
[K2] Fix mistake in language feature name for
...
...`DEFAULT_ARGUMENTS_IN_EXPECT_ACTUALIZED_BY_FAKE_OVERRIDE`
diagnostic.
^KT-62036
2023-10-13 12:30:41 +00:00
Dmitrii Gridin
b2c8d7e777
[FIR] do not treat external ide annotations as real one
...
Such annotations are supposed to affect only diagnostic warnings
^KT-62310 Fixed
2023-10-13 12:16:12 +00:00
Dmitrii Gridin
2cac922cd0
[FIR] add tests on external annotations
...
Tests are excluded in COMPILED_JAVA mode because in this
mode external annotations are not present at all
^KT-62310
2023-10-13 12:16:12 +00:00
Nikolay Lunyak
e452113a7a
[FIR] Fix missing INVISIBLE_REFERENCE on imports
...
^KT-59927 Fixed
2023-10-13 11:56:54 +00:00
Nikolay Lunyak
21cb5cf83a
[FIR] Store the first file in data.state.classifierContainerFileMap
...
Note that this doesn't affect
multi-module configurations
^KT-59927
2023-10-13 11:56:54 +00:00
Nikolay Lunyak
41c3f98419
[FIR] Make resolution of classes in FirProvider more reasonable.
...
See the `privateInFile.fir.kt` test.
Type mismatches are simply confusing.
`inheritorOfExpectSealedClass.out`
reports unresolved reference probably
because now it resolves into the expect
declaration, rather than the actual one.
K1 doesn't report UNRESOLVED_REFERENCE
in this case. But this is red code
anyway. And this behavior still
depends on the order in which the compiler
receives both the declarations.
^KT-59927
^KT-62567
2023-10-13 11:56:54 +00:00
Nikolay Lunyak
a9ceae9667
[FIR] Add the privateInFileInDifferentModule test
...
We only see the redeclaration
diagnostics on the declarations inside
the second file, because of
`FirRecorder::visitRegularClass`.
`data.state.classifierContainerFileMap`
references the last file, so
when checking the visibility of
the first `private class C { ... }`
(when collecting declarations that
conflict with the second `private class C`)
the provider returns the second file
instead of the first one, so the class
behaves as it is visible, and
`collectTopLevelConflict` returns in
this case.
As for why `INVISIBLE_*`s are reported
inside the first file: this is because
`data.state.classifierMap` stores the
last classifier it sees instead of
the first one.
^KT-62537
2023-10-13 11:56:54 +00:00
Ilya Kirillov
ba37ad9b85
[build] remove obsolete -opt-in=kotlin.ExperimentalStdlibApi from :analysis:proejct-structure module
2023-10-13 11:49:55 +00:00
Ilya Kirillov
e91e1a7729
[build] Remove non-needed IR modules from Kotlin plugin
...
^KT-62510
^KTIJ-27361
2023-10-13 11:49:55 +00:00
Ilya Kirillov
1ec6a29d1b
[build] fix project names in sam-with-receiver-compiler-plugin-for-ide
...
They usually use one `:`
2023-10-13 11:49:55 +00:00
Ilya Kirillov
83db91d445
[build] do not build kotlin-stdlib-minimal-for-test-for-id as it's unused in the IDE
2023-10-13 11:49:55 +00:00
Ilya Kirillov
b3226b9b78
[build] do not build kotlin-compiler-for-ide as it's unused in the IDE Plugin
2023-10-13 11:49:55 +00:00
Vladimir Sukharev
5acdc865b6
Properly handle multi-line diagnostics test directives
2023-10-13 10:14:21 +00:00
Sergej Jaskiewicz
df0f86bf8d
[FIR generator] Use a single list of parent TypeRefs for elements
...
(Instead of storing the list of parent elements + the map of parent
arguments)
2023-10-13 10:11:38 +00:00
Vyacheslav Gerasimov
5ee7aa7077
Build: Workaround KT-61766 with implicitDependencies
2023-10-13 09:15:03 +00:00
Vyacheslav Gerasimov
453da6af27
Minor: Fix comment in resolve-dependencies.gradle.kts
2023-10-13 09:15:03 +00:00
Ivan Kylchik
350ee4be1d
[Native] Replace consequence line and column calls with a single one
2023-10-13 08:50:47 +00:00
Ivan Kylchik
1be98b8f08
[IR] Extract some common code into AbstractIrFileEntry
2023-10-13 08:50:47 +00:00
Ivan Kylchik
6039d39546
[IR] Add new method IrFileEntry.getLineAndColumnNumbers
...
Calling this method instead of sequence of `getLineNumber` and
`getLineNumber` is faster because we eliminate one exess
`getLineNumber` call.
2023-10-13 08:50:47 +00:00
Ivan Kylchik
a30d0aeeb0
[JVM] Replace AbstractInsnNode.getType with new util function
...
This change speeds up backend by approximately 0.96%.
2023-10-13 08:50:47 +00:00
Ivan Kylchik
67460962c3
[JVM] Use HashSet instead of SmartSet in MaxStackFrameSizeAndLocalsCalculator
...
This change speeds up backend by approximately 0.25%.
2023-10-13 08:50:47 +00:00
Ivan Kylchik
05b364a5f1
[JVM] Simplify equals method in StrictBasicValue
2023-10-13 08:50:47 +00:00
Ivan Kylchik
84a47a2298
[IR] Drop SLRUCache usages from NaiveSourceBasedFileEntryImpl
...
Access to `SLRUCache` is a bottleneck when we call `getLineNumber`.
We are very rarely going to access the same offset. This change
speeds up backend by approximately 0.43%.
2023-10-13 08:50:47 +00:00
Ivan Kylchik
4a07454d8d
[IR] Drop excess resolveFakeOverride from EVALUATION_MODE
...
This change doesn't affect semantic and speeds up
backend by approximately 0.06%.
2023-10-13 08:50:47 +00:00
Ivan Kylchik
3335db0aa8
[IR] Simplify unsigned check in EVALUATION_MODE
...
This way we are not creating useless intermediate lists. This change
speeds up backend by approximately 0.38%.
2023-10-13 08:50:47 +00:00
Ivan Kylchik
f36f37bf47
[IR] Drop isNan fun from IrInterpreterCommonChecker
...
It is not used anymore after 858f432807
2023-10-13 08:50:47 +00:00
Ivan Kylchik
9135e9d13d
[JVM_IR] Drop reversed call from writeLocalVariablesInTable
...
It is better to use simple for loop. This change speeds up
backend by approximately 0.07%.
2023-10-13 08:50:47 +00:00
Pavel Kunyavskiy
156c341eeb
[K/N] Implement objc overridablity condition for IR
...
^KT-61511
2023-10-13 08:15:01 +00:00
Pavel Kunyavskiy
202f30f910
[K/N] Extract ObjcOverridabilityCondition to separate file
...
^Kt-61511
2023-10-13 08:15:00 +00:00
Sebastian Sellmair
4c15509776
[Gradle] Rename KotlinExtensionPoint to KotlinGradlePluginExtensionPoint
...
KT-61634
2023-10-12 18:24:17 +00:00
Sebastian Sellmair
d471a5ed4a
[Gradle] Migrate KotlinGradleProjectChecker to KotlinExtensionPoint
...
KT-61634
2023-10-12 18:24:17 +00:00
Sebastian Sellmair
30665c3e02
[Gradle] Implement KotlinExtensionPoint to allow extensible designs inside the KotlinGradlePlugin
...
KT-61634
2023-10-12 18:24:17 +00:00
Sebastian Sellmair
e78331cd5c
[Gradle] Implement generic 'StoredProperty' mechanism
...
This will allow extending objects of 'Project' or 'HasMutableExtras'
with generic, stored instances
KT-61634
2023-10-12 18:24:17 +00:00
Ilya Goncharov
1fd9706f47
[K2] KT-60080 Fix packageFqn for property accessor symbol
...
^KT-60080 fixed
2023-10-12 17:44:47 +00:00
Svyatoslav Scherbina
a318cd455d
Native: fix interop_concurrentRuntime test for mingw_x64
...
Our sysroot for mingw_x64 still requires -femulated-tls. For C++ code
as well. Without it the test fails with
lld-link: error: undefined symbol: std::__once_call
^KT-46612
2023-10-12 17:16:18 +00:00
Svyatoslav Scherbina
080a404d9a
Native: enable interop_concurrentRuntime test since it no longer fails
...
^KT-43180 Obsolete
2023-10-12 17:16:18 +00:00