Stanislav Ruban
4f92008f01
[test docs] Actualize the README.md for diagnostic tests somewhat
2023-07-13 13:41:36 +00:00
Stanislav Ruban
5c644bcac8
[test infra] Add a directive for type checking utils that use @Exact
2023-07-13 13:41:36 +00:00
Dmitrii Gridin
b67b37cdb3
[FIR] FirJavaFacade: do not duplicate record constructor
...
The fresh version of intellij has all record-related declarations,
so an additional fake constructor leads to errors like
KTIJ-25364 (OVERLOAD_RESOLUTION_AMBIGUITY)
^KTIJ-25366 Fixed
^KTIJ-25364 Fixed
^KTIJ-25368 Fixed
^KTIJ-25370 Fixed
2023-07-13 09:21:38 +00:00
Mikhail Glukhikh
17da09bf17
K2: add ConeKotlinType argument for NULL_FOR_NONNULL_TYPE
2023-07-13 09:07:39 +00:00
Mikhail Glukhikh
9d9d7880af
K2: render types in quotes in diagnostic messages
2023-07-13 09:07:39 +00:00
Mikhail Glukhikh
c839cd3c11
K2: don't use debugging type renderer in error messages
2023-07-13 09:07:39 +00:00
Roman Efremov
4a598afc36
[FE] Prohibit expect or actual opt-in annotations
...
^KT-58554
2023-07-13 08:15:42 +00:00
mvicsokolova
d9fa9c1b3b
[K/N] Introduce intrinsics that atomically update array elements
...
Supported atomic update of elements for IntArray, LongArray and Array<T>
See KT-58360
Merge-request: KT-MR-11020
Merged-by: Maria Sokolova <maria.sokolova@jetbrains.com >
2023-07-12 14:32:36 +00:00
Brian Norman
10ed26991d
[FIR] Extract LHS receiver of assignment operator statements
...
#KT-53490 Fixed
2023-07-12 11:41:33 +00:00
Timofey Solonin
c245fa45e3
Split K2 and K1 test data for multiplatform feature diagnostic
...
and add an explicit expect to the test data
^KT-31281
2023-07-12 10:50:33 +00:00
Anastasia.Nekrasova
fcba0ad75e
[Test] Add a test covering for resolution to subsumed members for raw types
...
^KT-57620
2023-07-12 09:11:01 +00:00
Timofey Solonin
e12e78d96b
Add an explicit diagnostic for when expect/actual modifiers are used in
...
an unsupported compilation
^KT-31281
2023-07-12 08:29:28 +00:00
Mikhail Glukhikh
39406710b2
FIR2IR: fix origin calculation for explicit inc/dec calls
2023-07-11 08:28:04 +00:00
Mikhail Glukhikh
f8ca440e96
K2: resolve Java enum entries from the beginning (related to KT-59464)
2023-07-11 08:28:04 +00:00
Timofey Solonin
792b6482c0
Emit MultiPlatformProjects diagnostic on all declarations
...
where expect/actual modifier is present
^KT-31281
2023-07-10 17:26:23 +00:00
Ivan Kylchik
ad6332112e
[IR] Support const optimizations for Native backend
2023-07-10 13:19:51 +00:00
Pavel Mikhailovskii
6e6a4d6411
KT-59836 [SLC] Copy type parameters from the parent interface to DefaultImpls methods
2023-07-10 13:11:21 +00:00
Nikolay Lunyak
d13e60aaec
[FIR] Prevent loosing errors for synthetic outer calls
...
The error occurs when completing the
call for the outer synthetic call
`ACCEPT_SPECIFIC_TYPE`. The error
is saved into the CS of this outer
candidate, which leads to its
callable reference to be an error
reference, but since such calls are
not parts of the FIR tree, we never
collect such errors.
^Fixed KT-59233
2023-07-10 10:26:43 +00:00
Nikolay Lunyak
79fce56c95
[FIR] Add a test for KT-59233
2023-07-10 10:26:43 +00:00
Nikolay Lunyak
d4c6e55e0a
[FIR] Require equivalent candidates to have the same parameters count
2023-07-10 09:43:22 +00:00
Nikolay Lunyak
fe783d7121
[FIR] Require equivalent candidates to have the same parameters order
...
NB: In general, it's unclear what to do in cases
like the following one, even when sometimes
we could, indeed, prefer something:
```
fun foo(a: Int, b: String, c: Boolean)
fun foo(b: String, c: Boolean, a: Int)
foo(c = false, b = "", a = 0)
```
^KT-55933 Fixed
2023-07-10 09:43:22 +00:00
Nikolay Lunyak
4f0563dee1
[FIR] Add a test for KT-55933
2023-07-10 09:43:22 +00:00
Nikolay Lunyak
8c5b2ae85b
[FIR] Fix modifying CheckerContext inside checkers
...
`InlineFunctionBodyContext` was not moved
outside the class to preserve as much
git blame info as possible.
^KT-56460 Fixed
2023-07-10 09:28:55 +00:00
Nikolay Lunyak
b46d4e5399
[FIR] Check classes for EXPECTED_PRIVATE_DECLARATION
2023-07-10 09:28:54 +00:00
Nikolay Lunyak
884cd6c754
[FIR] Move FirReturnsImpliesAnalyzer to the extended checkers
2023-07-10 09:28:54 +00:00
Igor Yakovlev
b5eafb9eb7
[Wasm] WasmExport implementation
2023-07-07 20:45:51 +00:00
Igor Yakovlev
750653e4b3
[Wasm] Add kotlin wasm wasi mode compiler flag
2023-07-07 15:23:18 +00:00
Brian Norman
61acd2b6f5
[FIR] Do not allow context receivers on value classes
...
#KT-59413 Fixed
2023-07-07 11:41:59 +00:00
Pavel Mikhailovskii
083f54aceb
[KAPT4] Create basic infrastructure for KAPT4
2023-07-07 11:09:16 +00:00
Dmitriy Novozhilov
fc57f48c8f
[FIR] Union CFG edges from postponed lambdas only if outer call was analyzed independently
...
Before this change nodes unification was called if outer call was
completed in the FULL mode, but it may happen even if this call is
actually a part of some other outer call
2023-07-07 06:45:20 +00:00
Mikhail Glukhikh
15b070b494
K2: don't resolve callable reference to enum entries #KT-59611 Fixed
2023-07-06 15:06:31 +00:00
Dmitriy Dolovov
8aacdb471b
[K/N] Fix: Ignore bridge functions in FunctionReferenceLowering
...
^KT-59858
2023-07-06 12:39:46 +00:00
Ivan Kylchik
d3d28783c5
[IR] Support const optimizations for JS backend
2023-07-06 11:00:14 +00:00
Ilya Chernikov
b1b1eab35b
K2 Scripting: fix testdata for scripts diagnostics tests
2023-07-05 19:46:04 +00:00
Ilya Chernikov
5e3f7184d1
IR Scripting: fix capturing of the script parameter in a fun
2023-07-05 19:46:04 +00:00
Ilya Chernikov
bf3a6f7678
K2 Scripting: support script top-level destructuring declarations
2023-07-05 19:46:04 +00:00
Ilya Chernikov
02e2438d37
K2 Scripting: fix script this receiver handling in IR
...
also fix accessor lowering
2023-07-05 19:46:04 +00:00
Ilya Chernikov
07df03dbec
K2 Scripting: fix capturing in scripts created from Fir
2023-07-05 19:46:04 +00:00
Ilya Chernikov
00211a5fc9
K2 Scripting: turn on implicit body resolve for scripts
2023-07-05 19:46:04 +00:00
Ilya Chernikov
1a735b0842
K2 scripting: support script-level typealiases
2023-07-05 19:46:04 +00:00
Ilya Chernikov
70d2fcd9c4
K2 Scripting: deprecate top level script inner classes
...
no LT support yet
2023-07-05 19:46:03 +00:00
Ilya Chernikov
7484ccb9ee
K2 Scripting: allow script top level inline functions
2023-07-05 19:46:03 +00:00
Ilya Chernikov
86b3e65d19
K2 Scripting: enable script processing in diagnostics collector
...
and add scripts to containing decls in checker context te be able to
check for containing script in checkers
2023-07-05 19:46:03 +00:00
Ilya Chernikov
f79f715590
Fir2Ir: remove error reporting on no receiver
...
this error is not valid for scripts, where some receivers are set
later in the lowering, and it looks like in other cases this problem
will be detected later in lowering or codegen anyway.
2023-07-05 19:46:03 +00:00
Ilya Chernikov
7866c63e49
Fir2Ir: add fake overrides binding for script top level classes
2023-07-05 19:46:03 +00:00
Ilya Chernikov
9adf24950a
Fir2Ir scripts: fix declarations registration and processing
2023-07-05 19:46:03 +00:00
Ilya Chernikov
5824b9c59c
K2 Scripting: add Fir script codegen tests
...
27 failing tests are muted
2023-07-05 19:46:03 +00:00
Dmitriy Novozhilov
6bb7fc05df
[IR] Split implementation of DataClassMembersGenerator to IR based and descriptor based
2023-07-05 14:57:55 +00:00
Ivan Kylchik
d557bcaba4
[IR] Forbid unconditional interpretation of IrGetObjectValue
...
Earlier we always allowed to interpret `IrGetObjectValue` because
this value is used in const val getter. But now we do a special
check for such getter avoiding visit of `IrGetObjectValue` node.
#KT-59775 Fixed
2023-07-05 13:33:41 +00:00
Kirill Rakhman
04f16d75d2
[K2 MPP] Fix hasStableParameterNames check for fake overrides
...
This fixes a false positive error regarding different
parameter names in expect actual matching with fake overrides.
#KT-59737 Fixed
2023-07-05 13:30:01 +00:00