Denis.Zharkov
3f052af517
K2: Propagate explicit getter type to the property without initializer
...
In K1, we have the rules like:
- if there's explicit type of a property, then use it
- if there's an initializer, obtain its expression-type
- Otherwise, use getter's return type
The case when getter's type is implicit is handled at
FirDeclarationsResolveTransformer.transformProperty
^KT-56707 Fixed
2023-02-21 18:39:40 +00:00
Yahor Berdnikau
0cad069522
[Build] Pin api and language level to 1.8 in Kotlin compiler modules used by KGP
...
This is required to be able to compile KGP and it's dependencies which
set LV to 1.4 when repo will use LV 1.9. This caused by the change how
enums are compiled (KT-48872).
2023-02-18 13:26:54 +00:00
Denis.Zharkov
8fa84e7bea
K2: Add clarification comment to KtFakeSourceElementKind
2023-02-15 08:13:55 +00:00
Denis.Zharkov
d7399ed1cf
K2: Avoid losing diagnostics for synthetic calls
...
Some of the changed tests may duplicate other existing diagnostics,
but that should not be reason not to report them at all.
There might be another job to be done to avoid diagnostic duplications
2023-02-15 08:13:41 +00:00
Denis.Zharkov
a311d6eea0
K2: Extract CheckerContextForProvider from CheckerContext
...
So, the idea is that CheckerContext should remain just read-only
while the one who runs the checkers might build/modify the context.
^KT-56460 Related
2023-02-09 12:08:05 +00:00
Dmitriy Novozhilov
f479a56f5e
[FIR] Fix reporting of CANNOT_INFER_PARAMETER_TYPE on lambda parameters
...
^KT-56138 Fixed
2023-02-06 08:09:57 +00:00
Dmitriy Novozhilov
ad3ae0ff69
[FIR] Add ability to specify that diagnostic collector should visit nodes with specific fake kind
2023-02-06 08:09:55 +00:00
Kirill Rakhman
ace47c06a5
FIR: Make LHS of FirVariableAssignment a FirExpression
...
This way references can even be resolved for erroneous assignments
(e.g. function call, if expression, ... on LHS)
^KT-54648 Fixed
2023-01-31 08:39:42 +00:00
Ilya Chernikov
37a7044e74
FIR LT: fix line offsets calculations for text files with crlf
...
#KT-55886 fixed
2023-01-30 08:47:40 +00:00
Mikhail Glukhikh
4167a69e30
K2: generate implicit dispatch receivers for static members called
...
#KT-55371 Fixed
#KT-55372 Fixed
2023-01-26 15:27:57 +00:00
Kirill Rakhman
a7edf5b83e
FIR: Throw if source is null in DiagnosticReporter.reportOn ^KT-55284 Fixed
2023-01-11 08:30:36 +00:00
Ilya Kirillov
79fe4100aa
[FIR] extract exception handing into a service to have additional implementation for the ide
2023-01-03 10:23:50 +00:00
Alexander Udalov
3c4b5529af
Update year to 2023 in COPYRIGHT_HEADER.txt
...
This commit is the result of changing the year to 2023 in
COPYRIGHT_HEADER.txt and running all `generate*` tasks in
`generators/build.gradle.kts`.
2023-01-02 22:52:15 +01:00
Yan Zhulanow
d652dc620c
[FE] Preserve legacy contract description calls in bodies
...
^KT-55231 Fixed
^KTIJ-21012 Fixed
2022-12-26 11:46:58 +00:00
Anna Kozlova
15b1e429d7
[compiler] introduce dedicated Fir declaration for dangling modifier lists (KTIJ-23008)
...
ensure fir annotations are included in FirDanglingModifierList and resolved,
dedicated DanglingTopLevelModifierListStructureElement exists for top
level lists only, class level lists are processed by containing structure
element
2022-12-21 20:58:46 +00:00
Mikhail Glukhikh
af96c735bb
K2: use PUBLICATION mode for lazy members in KtSourceElement
...
This commit removes performance problems during these members access
2022-12-17 21:44:58 +00:00
Ilya Kirillov
7a89ca495c
[LL FIR] do not execute resolve under a non-cancellable session
...
The sessions are invalidated on the PCE
2022-12-06 21:20:41 +00:00
Nikolay Lunyak
2e9f9f987b
[FIR] KT-44698: Print file:line:offset on K2 crash
...
^KT-44698 Fixed
2022-11-29 22:35:51 +00:00
Dmitrii Gridin
22cfea5058
[FIR] introduce KtFakeSourceElementKind.ReceiverFromType
...
^KT-54417
2022-11-17 09:50:13 +00:00
Anna Kozlova
3590c4ea35
[Analysis API FIR] support generated temp properties
...
KTIJ-23492 (array index expression), KTIJ-23138 (inc/dec desugaring)
2022-11-11 17:39:53 +01:00
Mikhail Glukhikh
d00af1c932
FE: drop DiagnosticReporter.context.report & rename reportAndCommit
2022-10-17 12:46:24 +00:00
Mikhail Glukhikh
1826d9b332
K2: add & fix tests for JVM BE diagnostics
2022-10-17 12:46:24 +00:00
Xin Wang
69a4de0461
K2 JVM: Take JVM declarations conflicting error back
...
Since SimpleDiagnosticsCollectorWithSuppress have been replaced by
PendingDiagnosticsCollectorWithSuppress after commit 9add6f3d55 ,
diagnostics need to be committed now.
#KT-54366 Fixed
2022-10-17 12:46:23 +00:00
Dmitriy Novozhilov
c0ad67c4f9
[FIR] Generate java declarations for record components of java records
...
^KT-53964 Fixed
2022-10-03 15:48:17 +03:00
Dmitriy Novozhilov
6ef3d1e573
[FE] Add helper methods for reporting diagnostics with DiagnosticContext context receiver
2022-09-07 07:57:36 +00:00
Simon Ogorodnik
513af2dfbc
FIR. Refactor smart-cast representation in FIR tree
...
Make smart-casts non-transparent expression without delegation
to underlying FirQualifiedAccessExpression, as children delegation in
fir tree has unclear semantics
Remove two different kinds of tree nodes for smart-casts
2022-08-15 21:46:11 +00:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Mikhail Glukhikh
bc396b9765
K2: don't report RETURN_TYPE_MISMATCH on last statement returns
...
#KT-53198 Fixed
2022-07-22 16:39:51 +00:00
Mikhail Glukhikh
07f16ef378
K2 LL API: implement automatic diagnostic suppression
2022-07-22 11:35:27 +00:00
Mikhail Glukhikh
9add6f3d55
K2: add more accurate & more automatic control of diagnostic suppression
...
#KT-51363 Fixed
2022-07-22 11:35:26 +00:00
Dmitriy Novozhilov
f587c02d38
[FE] Move ServiceLoaderLite to :compiler:frontend.common
...
This is needed to be able to use this class inside FIR part of IDE plugin
2022-06-29 12:00:00 +00:00
Ivan Kochurkin
b573532d8c
Introduce COMPONENT_FUNCTION_NAME_PREFIX constant
2022-06-17 23:26:15 +00:00
Nikolay Lunyak
858999c1a1
[FIR] Preserve information about prefix/postfix-ness
...
This information is needed for dynamics
2022-06-02 13:47:31 +00:00
Ilya Chernikov
03cbfea737
FIR LT: Introduce source file abstraction, carry it from parsing to IR
...
along with source lines mapping, allows to "emulate" usage of the
PSI files which allows to extract source file and line mapping info
on every stage from source element.
It makes sense to use this mapping for the error reporting too.
2022-03-30 08:34:30 +00:00
Ilya Chernikov
ae10346d75
Refactor FIR diagnostics: cleanup and extract position finder
...
for reusing the latter in the inliner for LT-based sources
2022-03-30 08:34:13 +00:00
Mikhail Glukhikh
4178c8156a
Fix NPE in KtSourceElement.elementType #KT-44152 Fixed
2022-03-10 09:01:58 +00:00
Dmitriy Novozhilov
52b72a7dac
[FIR] Implement Int -> Long conversions for literals and operators over them
...
^KT-38895
^KT-50996 Fixed
^KT-51000 Fixed
^KT-51003 Fixed
^KT-51018 Fixed
2022-02-07 13:36:36 +03:00
Vyacheslav Gerasimov
f7a9065b75
Build: Use intellij maven repo instead of downloaded IDEA
...
#KTI-82
2021-12-16 21:48:23 +03:00
Ilya Chernikov
c1c94778ce
Detect and report inner classes capturing script instance
2021-12-14 13:39:22 +03:00
Ivan Kochurkin
800d594a4f
[FIR] Check adding default error messages for all diagnostics ^KT-49973 fixed
...
Also, check for duplicates
2021-12-09 12:31:23 +00:00
Dmitriy Novozhilov
7bcd3c7948
[FIR] Add FirExtensionRegistrarAdapter to fix extension points in FE 1.0 IDE plugin
...
FirExtensionRegistrar is FIR specific extension which requires FIR
classes to work, which are missing in dependencies of FE 1.0 IDE plugin.
To fix this issue FirExtensionRegistrarAdapter is introduced. This
class is a base class for FirExtensionRegistrar and it does not have
any FIR specific classes in it's API, so it can be safely registered
in IDE
2021-12-06 17:19:34 +03:00
Victor Petukhov
5c3835ab39
[FE 1.0] Don't use identifier in WhenMissingCase.kt if it wasn't provided
...
^KT-49702 Fixed
2021-11-22 10:44:06 +03:00
Tianyu Geng
f217bb94de
Use more consistent names for inheritors of BooleanIsMissing
2021-11-04 23:04:35 +01:00
Ilya Chernikov
5bdda9c7f8
Implement suppression cache based on IR tree, use it in reporter
2021-10-27 22:17:42 +02:00
Ilya Chernikov
bfe31c97ac
Add support for ASTs without parents to suppress cache
2021-10-27 22:17:42 +02:00
Ilya Chernikov
7ef806b2ed
Extract AbstractKotlinSuppressCache to frontend.common
2021-10-27 22:17:42 +02:00
Ilya Chernikov
70366dc7a6
Refactor diagnostic & result reporters...
...
to better reflect actual roles
2021-10-27 22:17:41 +02:00
Ilya Chernikov
ea1edc2bd9
Add equality to diagnostic context, simplifying deduplication
2021-10-27 22:17:41 +02:00
Ilya Chernikov
fc176e9845
Refactor IR reporting and infrastructure
2021-10-27 22:17:41 +02:00
Ilya Chernikov
da2d3f29da
Add multiple renderer sources support to new diagnostics infrastructure
2021-10-27 22:17:41 +02:00