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
Ilya Chernikov
1ce4075112
Prepare CLI reporting infrastructure for non-PSI diagnostics
2021-10-27 22:17:40 +02:00
Ilya Chernikov
5446168770
Add path to FirFile to pass it to the DiagnosticContext
2021-10-27 22:17:40 +02:00
Ilya Chernikov
1e056a7aa8
Report IR errors via new diagnostic infrastructure
2021-10-27 22:17:40 +02:00
Ilya Chernikov
21ea92cd4a
Extract mutable diagnostic context to separate interface
2021-10-27 22:17:40 +02:00
Ilya Chernikov
9e60c70db7
Add abstract source element and switch diagnostics to it
2021-10-27 22:17:40 +02:00
Ilya Chernikov
524e40708d
Move report helpers to frontend.common
2021-10-27 22:17:40 +02:00
Ilya Chernikov
e9f59e8d1d
Move common diagnostics infrastructure to frontend.common
2021-10-27 22:17:39 +02:00
Ilya Chernikov
a65beb2dc5
Move Fir*SourceElement to frontend.common, rename to Kt* (complete)
2021-10-27 21:44:11 +02:00
Ilya Chernikov
c50c8ad270
Move FirSourceElement to frontend.common (only move to save history)
2021-10-27 21:43:15 +02:00
Jinseong Jeon
5af24dc6ce
FIR/LC: use DataClassResolver when determining componentN/copy
2021-09-30 19:42:42 +02:00
Victor Petukhov
b957831683
Use WarningAwareUpperBoundChecker independently
...
^KT-47920 Fixed
^KT-48290 Fixed
2021-09-30 20:08:58 +03:00
Vyacheslav Gerasimov
ab146bd6d4
Build: Fix deprecated Gradle configurations usages
...
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00
Ilya Kirillov
a8d321db63
FIR IDE: do not use FE1.0 compiler jars in frontend-independent-modules
2021-09-14 14:45:43 +02:00
Dmitriy Novozhilov
0260bf8767
[FE] Move diagnostic parameter renderers to common module
2021-09-09 17:20:20 +03:00
Dmitriy Novozhilov
ddc6c70611
[FE 1.0] Move diagnostic parameter renderers to common module
2021-09-09 17:20:15 +03:00
Jinseong Jeon
5819959cce
Consolidate arrayOf call names
2021-08-18 16:04:36 +03:00
Dmitriy Novozhilov
f3116cb64a
Fix NON_EXHAUSTIVE_WHEN_STATEMENT warnings in project code
2021-07-20 13:33:46 +03:00
Ilya Kirillov
75331b3448
FIR IDE: abstract low-level-api from dependency on idea
2021-06-20 22:07:11 +02:00
Jinseong Jeon
477c1c8cd7
Migrate CompileTimeType and OperationsMap to frontend.common
2021-06-19 21:58:47 -07:00
Ivan Kochurkin
ef53f0e0b3
[FIR] Render diagnostics parameters instead of full text in debug messages (closer to old tests)
2021-05-25 00:07:32 +03:00
Ilya Kirillov
6e31ff4fb1
Introduce CallableId.asSingleFqName and use it instead CallableId.asFqNameForDebugInfo
2021-03-24 18:13:21 +01:00
Mikhail Glukhikh
5d3afbad54
Rename: BadNamedArgumentsTarget -> ForbiddenNamedArgumentsTarget
2021-03-11 22:57:57 +03:00
Tianyu Geng
be0dd84a06
FIR: check NAMED_ARGUMENTS_NOT_ALLOWED
...
The check has already been partially implemented in
org.jetbrains.kotlin.fir.resolve.calls.FirCallArgumentsProcessor. This
change completes the missing piece that determines if a `FirFunction`
has stable parameter names.
2021-03-11 22:57:57 +03:00
Dmitriy Novozhilov
4222bb9af2
[FE] Make whens on expect sealed classes and enums not exhaustive
2021-02-25 14:56:08 +03:00
Ilya Kirillov
f4371c670e
Move WhenMissingCase from fir module to compiler.common to use in IDE
2021-02-24 20:13:42 +01:00
Alexander Udalov
837eb739ea
IR: move CompilationErrorException to frontend.common
2021-02-24 19:07:37 +01:00
Mikhail Glukhikh
940588a9bb
FE: commonize throw-related annotation FQ names
2021-02-16 12:38:46 +03:00
Victor Petukhov
0d40022d6d
Add reporting of the warnings based on Java annotations for expanded type aliases
...
Before that, such warnings weren't reported as the corresponding errors were reported during type inference (only original types took part there)
2021-02-15 12:13:55 +03:00
Pavel Kirpichenkov
ba4cc4e075
Minor: cleanup
2021-01-14 17:28:14 +03:00
Dmitriy Novozhilov
db9f301eed
[FE] Make DiagnosticFactory.name not null
2020-11-26 11:54:15 +03:00
Mikhail Glukhikh
037c505069
Unbind general FirDiagnostic from PsiFile & PsiElement
2020-11-26 08:37:49 +03:00
Mikhail Glukhikh
6f8947dd04
Extract UnboundDiagnostic, DiagnosticFactory/Renderer to frontend-common
2020-11-26 08:37:48 +03:00
Dmitriy Novozhilov
3a48265077
Move ModuleDescriptor.Capability to :core:descriptors.common module
2020-08-25 10:31:37 +03:00