Vyacheslav Gerasimov
7d0935a8c5
Build: Refactor :js:js.tests:runMocha task
...
Introduce separate mochaTest task without dependency on test task
2022-12-09 20:42:07 +01:00
Ilya Kirillov
b75bd179d4
[LL FIR] remove checkPce parameter from resolve, now we always check for PCE
2022-12-09 16:21:09 +00:00
Ilya Kirillov
c2c615be99
[LL FIR] rework lazy annotation resolve for file to remove hacks
...
The previous solution blocked implementation of parallel resolve
2022-12-09 16:21:08 +00:00
Ilya Kirillov
3ad2b8a209
[LL FIR] rework FirDeclarationDesignation, so it can work with FirElementWithResolvePhase as a target
2022-12-09 16:21:08 +00:00
Ilya Kirillov
b962fcddc8
[FIR] move file annotations to the FirFileAnnotationsContainer
2022-12-09 16:21:07 +00:00
Ilya Kirillov
67adc3fb1a
[FIR] introduce FirFileAnnotationsContainer
2022-12-09 16:21:07 +00:00
Ilya Kirillov
8fd892176a
[FIR] introduce FirElementWithResolvePhase class and make it a base class for FirDeclaration
2022-12-09 16:21:06 +00:00
Pavel Mikhailovskii
1a76804862
KT-51290 Account for context receivers when generating delegate function bodies
2022-12-09 15:36:45 +00:00
Pavel Mikhailovskii
08767d572b
KT-51247 Fix resolution of functional types with context receivers
2022-12-09 15:29:39 +00:00
Pavel Mikhailovskii
a4bde57d44
KT-51475 Add a test
2022-12-09 15:27:59 +00:00
Pavel Mikhailovskii
57ddb9fddf
KT-53846 Pass context receivers to secondary constructors
2022-12-09 15:24:56 +00:00
Dmitriy Novozhilov
bd3a28d04d
[FE 1.0] Report INTEGER_OPERATOR_RESOLVE_WILL_CHANGE in missing cases
...
Covered places:
- local properties
- vars
- return positions of functions and lambdas
^KT-45970 Fixed
^KT-55358 Fixed
2022-12-09 15:10:03 +00:00
Dmitriy Novozhilov
a979960e63
[FE 1.0] Add test for KT-45970
2022-12-09 15:10:02 +00:00
Dmitriy Novozhilov
3cffb33ab7
[FE] Drop ApproximateIntegerLiteralTypesInReceiverPosition language feature
...
This feature is not needed because it is unconditionally disabled for K1
(because of not fully correct implementation) and unconditionally enabled
in K2 (K2 does not support old behavior)
^KT-38895
2022-12-09 15:10:02 +00:00
Mikhail Glukhikh
26ff806440
EmptyIntersectionTypeChecker: don't take stub & error types into account
...
This commit fixes some tests broken by previous refactorings
2022-12-09 15:00:42 +00:00
Mikhail Glukhikh
a7840d10d4
Drop unused AbstractTypeChecker.areRelatedBySubtyping
2022-12-09 15:00:42 +00:00
Mikhail Glukhikh
56c818e0a9
EmptyIntersectionTypeChecker: drop redundant checks + extra cleanup
2022-12-09 15:00:41 +00:00
Mikhail Glukhikh
758a4931e3
EmptyIntersectionTypeChecker: drop also incompatible supertypes check
...
Incompatible supertypes check also don't provoke runtime problems
in most situations, because this check is also bound to type argument
conflict. Related to KT-54411
2022-12-09 15:00:41 +00:00
Mikhail Glukhikh
29ad5f981c
Extract EmptyIntersectionTypeKind.isDefinitelyEmpty to a property
2022-12-09 15:00:41 +00:00
Mikhail Glukhikh
4d01ad439a
EmptyIntersectionTypeChecker: simplify code
2022-12-09 15:00:40 +00:00
Mikhail Glukhikh
2a1a5c6936
EmptyIntersectionTypeChecker: drop questionable check of arguments
...
The situations with conflicting type arguments normally don't provoke
any runtime problems. Also, conflicts like A<T> VS A<SomeType> aren't
valid at all. Here we decided to remove them to avoid strange
and non-actionable warnings in user code.
#KT-54411 Fixed
2022-12-09 15:00:40 +00:00
Mikhail Glukhikh
832baf81e5
EmptyIntersectionTypeChecker: fix error in diagnostic text
...
Related to KT-54411
2022-12-09 15:00:39 +00:00
Mikhail Glukhikh
71c2aac280
coneDiagnosticToFirDiagnostic: minor formatting
2022-12-09 15:00:39 +00:00
Mikhail Glukhikh
7fed0c64f0
EmptyIntersectionTypeChecker: minor refactoring
2022-12-09 15:00:39 +00:00
Mikhail Glukhikh
caf511acc5
EmptyIntersectionTypeChecker: make some names more clear
2022-12-09 15:00:38 +00:00
Mikhail Glukhikh
e9ea66b9f1
EmptyIntersectionTypeChecker: fix typo in variable name
2022-12-09 15:00:38 +00:00
Mikhail Glukhikh
d5c8d9fecc
FE: add test reproducing KT-54411
2022-12-09 15:00:38 +00:00
Dmitriy Novozhilov
c32d851585
Advance bootstrap to 1.8.20-dev-3892
2022-12-09 16:42:55 +02:00
Vladimir Dolzhenko
b4aa2aef00
Add ability to invalidate AbstractResolverForProject
...
#KTIJ-23785
Merge-request: KT-MR-7900
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com >
2022-12-09 12:04:50 +00:00
Dmitriy Novozhilov
957987c16a
[Test] Add testdata of AA tests to Test Helper plugin path
2022-12-09 12:02:09 +00:00
Dmitriy Novozhilov
f8487ba545
[CLI] Filter out blank arguments from system environment
2022-12-09 12:02:09 +00:00
Dmitriy Novozhilov
d898e256ca
[FIR] Don't update explicit delegated constructor calls of classes with @JvmRecord
...
^KT-54573 Fixed
2022-12-09 12:02:08 +00:00
Dmitriy Novozhilov
880b278c40
[FIR] Deeply copy annotation type ref on COMPILER_REQUIRED_ANNOTATION_PHASE
...
The original idea was in resolving of annotation type ref using only
importing scopes and accepting or discarding that resolution result
depending on if this annotation is needed for compiler/plugins or not
But there is a problem that resolution of FirUserType with type resolver
is not a pure operation: type resolver transforms qualifier parts which
may contain type arguments, so if they were unresolved at the first
resolve, they will stay unresolved forever. To prevent this we will
deeply copy annotation type ref before first resolution
^KT-55286 Fixed
2022-12-09 12:02:08 +00:00
Dmitriy Novozhilov
2aad466d00
[FIR] Add test for KT-55286
2022-12-09 12:02:08 +00:00
Dmitriy Novozhilov
a86bc425e5
[FIR2IR] Lookup for nested classes in scope in Fir2IrLazyClass
...
^KT-55269 Fixed
2022-12-09 12:02:07 +00:00
Dmitriy Novozhilov
866150a2e0
[FIR2IR] Add static functions to Fir2IrLazyClass.declarations
...
^KT-55269
2022-12-09 12:02:07 +00:00
Dmitriy Novozhilov
5d6cb2b691
[Test] Use IrPluginContext for searching declarations for DUMP_EXTERNAL_CLASS check
2022-12-09 12:02:07 +00:00
Dmitriy Novozhilov
e7f6482857
[Test] Use DUMP_EXTERNAL_CLASS instead of invalid DUMP_DEPENDENCIES directive in ir text tests
2022-12-09 12:02:06 +00:00
Dmitriy Novozhilov
9946bfcdfd
[FIR2IR] Properly handle error references in generation of receivers
...
^KT-53698 Fixed
2022-12-09 12:02:06 +00:00
Dmitriy Novozhilov
f3da26946b
[FIR] Change priority of K2_VISIBILITY_ERROR CandidateApplicability
...
In K1 analogue of `K2_VISIBILITY_ERROR` is `K1_RUNTIME_ERROR`, so
candidates with `K2_VISIBILITY_ERROR` should win over innaplicable
candidates with `INAPPLICABLE`, `INAPPLICABLE_ARGUMENTS_MAPPING_ERROR`
or `INAPPLICABLE_WRONG_RECEIVER` applicability
This is needed to allow resolution to invisible symbols (and later
suppress error with `@Suppress("INVISIBLE_SYMBOL", "INVISIBLE_REFERENCE")`
^KT-55026 Fixed
^KT-55234
2022-12-09 12:02:05 +00:00
Dmitriy Novozhilov
6c6525ecde
[FIR] Add test for KT-55026
2022-12-09 12:02:04 +00:00
Alexander Likhachev
0466fc536d
[Gradle] Don't convert free compiler arguments to set, avoid args duplication
...
#KT-55363 Fixed
2022-12-09 10:59:14 +00:00
Alexander Likhachev
a5810d88a5
[Gradle] Add an integration test for KT-55363
2022-12-09 10:59:14 +00:00
Pavel Mikhailovskii
b31209a38a
KT-51951 Add a test
2022-12-09 09:47:23 +00:00
Alexander Shabalin
01cabefea7
[K/N] Use configurations for interproject compdb deps ^KT-53776
...
Merge-request: KT-MR-7158
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com >
2022-12-09 09:42:08 +00:00
Pavel Mikhailovskii
76997edebe
KT-52373 Fix generation of synthetic functions with context receivers and default parameters
2022-12-09 09:39:26 +00:00
Sergey Bogolepov
4fa701f798
[K/N] Support caches and program outputs in dynamic driver
...
This commit mostly ports current phases "as-is", without any
moving them to an explicit I/O. It will be done later after static
driver removal.
2022-12-09 00:55:39 +00:00
Sergey Bogolepov
bf89e27647
[K/N] Prepare dynamic driver for more output kinds
...
* Extract frontend and psi2ir into functions
* Prepare hacks for porting old phases to the dynamic driver
2022-12-09 00:55:38 +00:00
Troels Bjerre Lund
bb1acf729b
[K/N] Add custom allocator prototype ^KT-55364
...
Enable custom allocator with -Xallocator=custom.
If the gc is cms (default):
* a patched version of the memory manager is used that does not build a
list of allocated objects.
* a patched version of the cms is used that defers to the allocator for
sweeping.
Otherwise, a warning is printed, and the allocator is used using the
standard api.
Design doc:
https://docs.google.com/document/d/15xMp-nE-DWL8OrtOc8DoXB80AHUphFICEGjj5K0aNFc
Co-authored-by: Troels Lund <troels@google.com >
Merge-request: KOTLIN-MR-546
Merged-by: Alexander Shabalin <alexander.shabalin@jetbrains.com >
2022-12-08 17:22:04 +00:00
Evgeniy.Zhelenskiy
40f38c8adb
[IR] Eliminate redundant boxing/unboxing of MFVC after inlining
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-12-08 15:12:28 +00:00