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
Svyatoslav Scherbina
2db89b7e7a
Native: improve description of supported MSVC versions in README
2023-10-12 17:06:56 +00:00
Marco Pennekamp
a62ac940c4
[AA] Add abstraction for composable Kotlin providers
...
This further improves the `KotlinCompositeProvider` abstraction:
- Pulling the abstraction's interfaces outside the `impl` package allows
us to write consolidated documentation on composable Kotlin providers.
- The addition of `KotlinComposableProvider` allows more specific bounds
for the type parameters of `KotlinCompositeProvider` and
`KotlinCompositeProviderFactory`. It also clarifies to Analysis API
implementors which providers can be composed at all, as providers like
`KotlinDeclarationProvider` extend this interface.
- `KotlinComposableProviderMerger` provides a unified interface for
provider mergers.
^KT-61791
2023-10-12 16:10:32 +00:00
Marco Pennekamp
c289da6cf3
[LL FIR] Use mergePackageProviders in LLFirCombinedKotlinSymbolProvider
...
^KT-61791
2023-10-12 16:10:32 +00:00
Marco Pennekamp
b9e3d848a6
[AA] Add KotlinPackageProviderMerger
...
- In parallel to Kotlin declaration provider merging, we need a proper
merging strategy for package providers as well, because resolve
extensions may define additional package providers.
- Additionally, other non-scope-based package providers may be added in
the future, and the merger preserves these out of the box.
^KT-61791
2023-10-12 16:10:32 +00:00
Marco Pennekamp
c63dde4f7e
[AA] Add abstraction for composite provider creation and merging
...
- Composite declaration providers and declaration provider mergers are
extremely similar to the composite package providers and (newly to be
implemented) package provider mergers. This commit extracts the common
parts into a `KotlinCompositeProviderFactory`.
^KT-61791
2023-10-12 16:10:32 +00:00
Marco Pennekamp
0e6cc92958
[LL FIR] Optimize getPackage in combined Kotlin symbol providers
...
- `getPackage` can also benefit from a combined index access.
- Care has to be taken with allowed/disallowed `kotlin` packages. Since
we're not delegating to individual symbol providers after the index
access, `allowKotlinPackage` has to be taken into account in the
combined symbol provider explicitly.
^KT-61791 fixed
2023-10-12 16:10:32 +00:00
Jaebaek Seo
a6c432587f
K2: Add extension point for additional KDoc resolution
...
Similar to K1 KDocLinkResolutionService used by Fe10KDocReference (to
support additional KDoc resolution), this commit adds K2 counterpart
AdditionalKDocResolutionProvider and uses it for KDocReferenceResolver.
^KT-62187
2023-10-12 15:17:31 +00:00
Ilya Kirillov
34ea0678ae
[Analysis API Standalone] refactoring, use predefined paths to libraries in StandaloneSessionBuilderTest wher it's possible
2023-10-12 15:15:05 +00:00
Ilya Kirillov
4d38cc4548
[Analysis API Standalone] fix exception on invalid KLib from symbol provider
...
^KT-62244 fixed
2023-10-12 15:15:05 +00:00
Mikhail Glukhikh
d005d1cd68
Add accidentally forgotten IrSourceRangesDumpHandler to IR text tests
2023-10-12 15:06:47 +00:00
strangepleasures
2319e11ff1
[KAPT] KT-62059 Disable incremental stub generation in K2
2023-10-12 13:37:23 +00:00
Igor Chevdar
a8c6074c45
[IR] Use InlineFunctionResolver for inlinable function references
...
#KT-62313 Fixed
2023-10-12 13:34:13 +00:00
Igor Chevdar
c6470a684d
[box-tests] Added a reproducer for #KT-62313
2023-10-12 13:34:13 +00:00
Svyatoslav Kuzmich
d9cb41d242
Refactor: remove empty overrides in K2 checkers
2023-10-12 13:26:58 +00:00
Svyatoslav Kuzmich
c73e1f678e
Fix copyright year in Wasm K2 checkers
2023-10-12 13:26:58 +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
881997585a
[Wasm] Add K2 checkers.web.common module (KT-56849)
...
This module is created to share JS and Wasm checker logic
Extract isEffectivelyExternal util fun from K/JS in order to
reuse it in Wasm checkers
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
Svyatoslav Kuzmich
0da9cf8159
[Wasm] Add K2 diagnostic tests (KT-56849)
2023-10-12 13:26:58 +00:00
Svyatoslav Kuzmich
1ddcdb95bd
[Wasm] Add compiler.common.wasm module
...
This module is introduced to mirror K/JS code layout
Add WasmStandardClassIds to use in checkers
2023-10-12 13:26:58 +00:00
Ivan Kylchik
96a2da4906
[JVM] Split mergeControlFlowEdge into full and fast versions
...
This is needed because for `FastStackAnalyzer` we actually
will use only `fast` version, that can potentially improve overall
performance.
2023-10-12 13:04:43 +00:00
Ivan Kylchik
07c7792693
[JVM] Drop toArray call where iterator can be used
2023-10-12 13:04:43 +00:00