Roman Golyshev
304112cd8a
[tests] Refactor AbstractReferenceResolveTest. Part 1
...
Instead of relying on UNRESOLVED_REFERENCE directive for the whole file,
just render the unresolved reference right in the .txt testdata
This will allow to introduce multi-caret resolve testdata more naturally
Required for KT-65152 and KT-62695
2024-01-26 10:12:09 +00:00
Simon Ogorodnik
53e89a9722
K2. Minor. Rename FirConstExpression to FirLiteralExpression
...
FirConstExpression is usually confused with "constant" calculations,
while in fact, it just denotes a simple literal expression
and `1 + 1` isn't represented by a FirConstExpression.
^KT-64314 Fixed
2024-01-25 23:05:15 +00:00
Dmitriy Novozhilov
150ff1172e
[FIR] Add session parameter to all "element --> reference" utilities
...
`FirDeserializedEnumAccessExpression` requires session to build proper
reference, so it's important to have it in all utilities, which may
pass this element as input
^KT-64975
2024-01-25 15:55:19 +00:00
Dmitriy Novozhilov
bd9cb2b7e0
[FIR] Refactor val FirElement.calleeReference utility
...
1. Convert it to `toReference()` function to make it consistent with other
similar utilities
2. Provide the proper implementation
^KT-64975
2024-01-25 15:55:19 +00:00
Evgeniy.Zhelenskiy
dc578b1c5f
[FIR] Exclude class type arguments checks for type parameters from outer functions
...
#KT-63577
2024-01-25 11:04:25 +00:00
Pavel Kunyavskiy
5e25707648
[Fir2IR] Don't compute overriddenSymbols if ir builder is enabled
...
Ir builder would recompute them anyway, while computation
can lead to triggering computations in lazy classes too early,
which is incorrect.
^KT-65116
2024-01-25 09:22:07 +00:00
Yan Zhulanow
c8af3381d6
[Stubs] Fix stub inconsistency on unnamed setter parameters
...
If an unused setter parameter was replaced with an underscore ('_'),
it had a special name in the stub ('<anonymous parameter 0>'). The text
version of the stub inserted it as is, leading to an extra
'PsiErrorElement'.
^KTIJ-28194 Fixed
2024-01-24 18:41:42 +00:00
Denis.Zharkov
81d559ad7f
K2: Add test data for KT-64841 showing its current state
2024-01-24 12:51:22 +00:00
Nikolay Lunyak
eb11901d43
[FIR] Add some corner case tests for KT-64891
...
Note that there are some that K2
correctly supports, while K1 fails.
^KT-64891
2024-01-24 12:49:56 +00:00
Nikolay Lunyak
8e6e447d6d
[FIR] Reproduce KT-64891
...
^KT-64891
2024-01-24 12:49:55 +00:00
Dmitriy Novozhilov
1de8a1dda6
[Test] Correcly collect diagnostics in AA tests
...
One of the previous commits moved calculation of diagnostics from
FirAnalyzerFacadeinto the separate test service, so it should be altered
in AA tests too
2024-01-24 10:45:00 +02:00
Dmitriy Novozhilov
f5d8113de3
[FIR] Part 4. Setup running platform checkers in Analysis API
...
^KT-58881
2024-01-24 10:45:00 +02:00
Dmitriy Novozhilov
c4e4776c5e
[FIR] Part 2. Setup running platform checkers in tests
...
^KT-58881
2024-01-24 10:45:00 +02:00
Dmitriy Novozhilov
77547c0312
[Test] Add more diagnostic tests for cases with expect class in supertypes
...
Related issues: KT-58845, KT-58881, KT-64187
2024-01-24 10:44:59 +02:00
Dmitriy Novozhilov
ed04cca62b
[Test] Move some MPP diagnostic tests into a dedicated folder
...
All those tests check different diagnostics on class scopes
2024-01-24 10:44:59 +02:00
Mikhail Glukhikh
51093a4764
K1/K2: add a group of BB test around primitives in Java
...
Related to KT-62554, KT-63242
2024-01-24 08:39:18 +00:00
Mikhail Glukhikh
54d978ba86
K2: add various tests describing current KT-62554 / KT-63242 behavior
2024-01-24 08:39:18 +00:00
Jinseong Jeon
43acc6516b
SLC: mangle internal accessors
...
...by honoring accessors' visibility
We need a special handling for backing field visibility,
e.g., lateinit, const, or JvmField, but that's not the case
for accessors' visibility.
^KT-64937 fixed
2024-01-23 21:55:09 +00:00
strangepleasures
85c9c57da4
[KAPT] KT-65006 fix issues when using Kapt+Serialization
...
This MR fixes two independent issues causing build failures when using Kapt in combination with the Kotlin serialization plugin (and, very likely, with other plugins as well):
Kapt applied compiler plugins twice, causing errors similar to the one described in KT-65006
Kapt failed to generate @Metadata annotations for plugin-generated companion objects because the corresponding SLC missed containingFile needed for generation of method and class signatures
Merge-request: KT-MR-13970
Merged-by: Pavel Mikhailovskii <Pavel.Mikhailovskii@jetbrains.com >
2024-01-23 20:35:32 +00:00
Marco Pennekamp
641cae009e
[AA] Remove obsolete KtFirAnalysisSession.mode
...
- On-air analysis was recently removed.
2024-01-23 16:00:43 +00:00
Jinseong Jeon
0dfaa91970
K2 UAST: simplify PSI declaration provider
...
In addition to class lookup (done at cec299ac ), we can use
JavaFileManager to search classes in a certain package too.
2024-01-23 09:09:37 +00:00
Nikolay Lunyak
c55a7dd038
[FIR] Add SAFE_CALLABLE_REFERENCE_CALL
...
^KT-59835
2024-01-23 08:46:29 +00:00
Nikolay Lunyak
4fed4b6640
[FIR] Add more tests for RESERVED_SYNTAX_IN_CALLABLE_REFERENCE_LHS
...
It's a bit hard to reason about how different
diagnostics correspond to one another from
the existing tests.
^KT-59835
2024-01-23 08:46:29 +00:00
Pavel Kirpichenkov
8fbe376f25
[IDE, JS] Fix tests for asDynamic
...
Register JS configurator in tests for library sources
Ignore FE10 because of KTIJ-28546
KTIJ-27571
2024-01-22 18:28:24 +00:00
Pavel Kirpichenkov
ed8d3092cd
[IDE, JS] Add regression test for KTIJ-27571
...
Reference resolve for kotlin.js.asDynamic
2024-01-22 18:28:24 +00:00
Pavel Kunyavskiy
09713bb89e
[Fir2IR] Don't add invisible fake overrides to Lazy class
...
^KT-65056
2024-01-22 13:30:05 +00:00
Vladimir Sukharev
39e2187d31
[K/N][Tests] Split filecheck part from test direct.kt
...
^KT-61259
2024-01-19 18:31:25 +01:00
Jinseong Jeon
e91e5db0ce
AA FIR: build argument mapping for SAM conversion node
...
^KT-64910 fixed
2024-01-19 17:05:06 +00:00
Ilya Chernikov
d6c9a492ad
K2 Scripting: disable K2 lightTree-based script tests
...
they were enabled by mistake and do not work properly until
LT parsing is implemented
depends on #KT-60127
2024-01-19 15:54:54 +00:00
Ilya Chernikov
a5c2eb66a2
K2 Scripting: add missing contracts resolving in scripts
...
#KT-64074 fixed
2024-01-19 15:54:53 +00:00
Ilya Chernikov
3b70b3d92d
K2 Scripting: restore some codegen scripting tests for K2
2024-01-19 15:54:53 +00:00
Mikhail Glukhikh
ae6aef3a63
K2: reproduce KT-65111
2024-01-19 15:52:14 +00:00
Sergej Jaskiewicz
bc5810ee67
[FIR2IR] Don't use descriptor manglers in FIR2IR
...
They don't do anything, only complicate the initial configuration.
KT-64990
2024-01-19 13:36:00 +00:00
Sergej Jaskiewicz
8b4cc050eb
[FIR2IR] Remove linkViaSignatures from Fir2IrConfiguration
...
^KT-64809 Fixed
2024-01-19 13:36:00 +00:00
Alexander Udalov
b2c30921e4
JVM: support JVM-specific primitive/wrapper type overridability check
...
#KT-62045 Fixed
2024-01-19 12:30:48 +00:00
Pavel Kirpichenkov
6deb679e5c
[LL] Fix incorrect KMP groups in case of reordered dependencies
...
KTIJ-27569
2024-01-19 10:20:52 +00:00
Pavel Kirpichenkov
98e3813af9
[LL] Add error recovery to KmpModuleSorter
...
KTIJ-27569
2024-01-19 10:20:52 +00:00
Pavel Kirpichenkov
24b19e3c32
[LL] Add test for KmpModuleSorter
...
KTIJ-27569
2024-01-19 10:20:52 +00:00
Pavel Kirpichenkov
ce3c05500e
[LL] Sort modules from the same KMP project in symbol providers
...
Sort dependency modules topologically if they belong to the same KMP
project, preserving their relative positions. Sorting all modules and
changing positions of unrelated modules can be harmful: in the case of
a classpath hell, IDE results can become different from runtime
behavior. Sorting in place can help to avoid this problem, because
conflicting declarations shouldn't be allowed in different source sets
of the same multiplatform project.
KTIJ-27569
2024-01-19 10:20:52 +00:00
Yan Zhulanow
50203adb72
[Analysis API] Minor, add KDoc for 'ContextCollector.Context'
2024-01-18 17:12:28 +00:00
Yan Zhulanow
e393282c67
[Analysis API] Remove test infrastructure for obsolete on-air analysis
2024-01-18 17:12:28 +00:00
Yan Zhulanow
8c5c40760b
[Analysis API] Minor, remove mentions of on-air analysis in KDoc
2024-01-18 17:12:28 +00:00
Yan Zhulanow
2c4fbb1eb1
[Analysis API] Minor, move out fallback computation for designation path
2024-01-18 17:12:28 +00:00
Yan Zhulanow
5d7f54500f
[Analysis API] Remove 'FirTowerContextProvider'
...
The only implementation of 'FirTowerContextProvider' that is not
obsolete is inside the reference shortener.
2024-01-18 17:12:28 +00:00
Yan Zhulanow
9227359256
[Analysis API] Remove components of obsolete on-air analysis
...
On-air analysis only worked correctly inside declaration bodies, and
required special handling ('analyzeInDependedAnalysisSession()').
Dangling files, the on-air replacement, works seamlessly, and it is
available in all contexts.
2024-01-18 17:12:28 +00:00
Yan Zhulanow
9021fdaf83
[Analysis API] Remove obsolete dependentCopy tests
2024-01-18 17:12:28 +00:00
Yan Zhulanow
08727bf0be
[Analysis API] Add more ContextCollector tests inspired by dependentCopy
...
As the on-air analysis is obsolete, related tests are going to be
deleted. Here we add cases not yet covered by 'ContextCollector' tests.
2024-01-18 17:12:28 +00:00
Yan Zhulanow
0502da474b
[Analysis API] Load scripting extensions for script dangling files
...
The commit fixes failing 'ContextCollectorScriptTestGenerated'
for dangling file copies.
2024-01-18 17:12:28 +00:00
Yan Zhulanow
e47f505eb9
[Analysis API] Use 'ContextCollector' in implicit receiver type provider
...
'getTowerContextProvider()', which operates on top of obsolete on-air
analysis can be replaced with more robust 'ContextCollector'.
2024-01-18 17:12:28 +00:00
Yan Zhulanow
74db837b7d
[Analysis API] Remove obsolete on-air resolution tests
2024-01-18 17:12:28 +00:00