Kirill Rakhman
d20ad67aa9
[FIR] Introduce extension unwrapFakeOverridesOrDelegated()
2023-03-14 09:13:41 +00:00
Dmitriy Novozhilov
89c42e20c9
[FIR] Consistently use _function_ instead of _functional_ in names of classes and functions
2023-02-02 08:24:52 +00:00
Dmitriy Novozhilov
c86495dcae
[FIR] Introduce ConeFunctionalTypeKind as a replacement of FunctionClassKind
...
This is needed to provide an ability to extend different kinds of
functional types
Also, cleanup and rename utilities related to functional types to avoid
possible confusions
2023-02-02 08:24:49 +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
Vladimir Dolzhenko
4542b3947b
Clean up: rename Jet* to Kt*
2023-01-03 16:36:53 +01:00
Dmitriy Novozhilov
dde64c10ea
[FIR] Create FirResolvedErrorReference for error reference with single candidate
...
Note that this reference won't be created for hidden candidates,
because they are designed to be truly invisible from the user side
2022-12-15 12:12:19 +00:00
Dmitrii Gridin
86422d0944
[FIR] FirReceiverParameter: rename type to typeRef
...
^KT-54417
2022-11-17 09:50:17 +00:00
Dmitrii Gridin
be7d282974
[FIR] introduce FirReceiverParameter
...
^KT-54417
2022-11-17 09:50:09 +00:00
Mikhail Glukhikh
d4fc2248ff
FIR: make class member helper names more consistent
2022-11-11 13:30:32 +00:00
Mikhail Glukhikh
e36091b926
K2: introduce even more readable renderer for types in messages
...
#KT-53343 Fixed
2022-09-13 09:05:48 +00:00
Mikhail Glukhikh
a82baf87cb
FIR renderer: extract separate ConeTypeRenderer
2022-07-14 09:38:33 +00:00
Mikhail Glukhikh
31ec10142b
FirRenderer: add renderAllModifiers and renderDetailedTypeReferences
...
Related to KT-52020
2022-06-29 16:50:04 +00:00
Denis.Zharkov
550d24f8c6
FIR: Introduce ContextFunctionTypeParams type attribute
2022-04-06 16:05:26 +00:00
Dmitriy Novozhilov
5a3b397552
[FIR] Get rid of FirTypedDeclaration
...
`FirTypedDeclaration` has only one inheritor (`FirCallableDeclaration`),
so there is no much sense to keep this class
2022-04-04 15:23:58 +00:00
Dmitriy Novozhilov
0bd3e8f418
[FIR] Rename ConeClassErrorType to ConeErrorType, drop ConeKotlinErrorType alias
2022-02-07 13:36:33 +03:00
Denis.Zharkov
6f89f1ebf4
FIR: Allow selector of safe calls to be a FirStatement
...
It's necessary to allow a?.b += v be interpreted as a?.(b += v)
But currently FirAssignmentOperatorStatement is not FirQualifiedAccess
^KT-41034 In Progress
2022-02-01 13:12:45 +03:00
Vyacheslav Gerasimov
f7a9065b75
Build: Use intellij maven repo instead of downloaded IDEA
...
#KTI-82
2021-12-16 21:48:23 +03:00
Dmitriy Novozhilov
75b6f7ca00
[FIR] Make FirRegularClass.companionObject companionObjectSymbol field
...
This is needed for two reasons:
1. Before this change companion object appeared in FirRegularClass
twice: in declarations list and in companionObject field. This may
trigger twice transform of it
2. It's very hard to implement generation of companion object by plugins
because if it is part of the tree then generated declaration must be
registered in FirProvider, which is inconsistent with other generated
declarations. Replacing FIR with symbol and removing custom logic of
visiting/transforming companion FIR allows us to just replace companionSymbol
in FirClass if plugin wants to generate it without any additional work
2021-11-23 15:01:05 +03:00
Ilya Chernikov
f1d0ead652
Fix fir analysis api after refactorings
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
Dmitriy Novozhilov
bee44c6e0f
[FIR] Split :compiler:fir:resolve module into three different modules
...
Those modules are:
- :compiler:fir:providers, which contains Fir and Symbol providers,
scopes, and different utilities used by them
- :compiler:fir:semantics, which contains different abstractions and
entities which are used in resolution and in checkers
- :compiler:fir:resolve, which contains all stuff related to resolution
and inference
There are two pros of this change:
1. It may increase gradle build, because it allows to compile :fir:resolve
and :fir:checkers modules in parallel
2. Logic of working FIR (scopes, providers, DFA logic system, etc) is
now separated from logic of resolution phases, so for example checkers,
which are depend on scopes physically will not be able to run resolve
in any way
2021-10-18 11:10:47 +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
Dmitriy Novozhilov
5769d42248
[FIR] Fix all usages of annotations due to new FirAnnotation hierarchy
2021-09-13 13:53:12 +03:00
Dmitriy Novozhilov
4b662a42a1
[FIR] Rename FirAnnotationCall to FirAnnotation
2021-09-13 13:53:09 +03:00
Ivan Kochurkin
7c6326856b
[FIR] Use toFirRegularClassSymbol instead of toFirRegular in checkers
2021-09-10 00:49:11 +03:00
Mikhail Glukhikh
ed035d99ab
Migrate -Xopt-in to -opt-in in Gradle Kotlin scripts
2021-09-03 15:40:47 +03:00
Dmitriy Novozhilov
e94d75d433
[FIR] Add opt-in annotation which prevents from using symbol.fir
2021-07-13 10:31:32 +03:00
Dmitriy Novozhilov
51fc2e453f
[FIR] Unity FirCallableDeclaration and FirCallableMemberDeclaration
...
After removal of all diamonds in FirDeclaration hierarchy
FirCallableMemberDeclaration was only one inheritor of
FirCallableDeclaration, so there is no need to keep them both
2021-07-13 10:31:20 +03:00
Dmitriy Novozhilov
f400477c70
[FIR] Remove generic parameter from FirDeclaration
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
725be466f0
[FIR] Move declaration utils to separate package
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
b3e5c6e079
[FIR] Add symbol to all declarations. Get rid of FirSymbolOwner
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
39cd1c8504
[FIR] Squash AbstractFirBasedSymbol with FirBasedSymbol
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
823cbc59b7
[FIR] Split FirAnonymousFunction to expression and declaration
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
5cfa8694d4
[FIR] Fix all usages of declarationSiteSession
2021-05-14 14:30:27 +03:00
Jinseong Jeon
bb37728e4f
FIR: use withNullability with type context whenever possible
...
It could simplify flexible type cases.
2021-05-05 17:35:48 +03:00
Dmitriy Novozhilov
c3b1be1a39
[FIR] Rename FirDeclaration.session to declarationSiteSession
2021-04-22 14:32:02 +03:00
Abduqodiri Qurbonzoda
40d1849f33
Migrate compiler, idea and others to new case conversion api
2021-04-08 03:22:02 +03:00
Ivan Kylchik
e19514f1dc
[VISUALIZER] Render original symbols/descriptors in fir/psi
2021-03-29 18:11:19 +03:00
Ivan Kylchik
869585870d
[VISUALIZER] Rewrite getSymbolId method
...
For now it is more clear that id means. It is a combination
of package name and class name with additional local path
2021-03-29 18:11:18 +03:00
Ivan Kylchik
6d08ef2f41
[VISUALIZER] Allow to render arrayOf call for fir
2021-03-29 18:11:17 +03:00
Ivan Kylchik
f32f61a950
[VISUALIZER] Remove all usages of fir native renderer
2021-03-29 18:11:15 +03:00
Ivan Kylchik
65fcd72ce1
[VISUALIZER] Add handler for dot qualified expression in fir
...
For some reason source element of such expression in fir
was changed, so to get FirFunctionCall we should seek it
in KtDotQualifiedExpression
2021-03-19 18:30:35 +03:00
Ivan Kylchik
13ef126d4c
[VISUALIZER] Remove ignore directive from correct test files
2021-03-19 18:30:27 +03:00
Ivan Kylchik
59416f447e
[VISUALIZER] Change rendering of equals call
2021-03-19 18:30:26 +03:00
Ivan Kylchik
dd8a7010f0
[VISUALIZER] Forbid to render unary minus for integer literals
2021-03-19 18:30:25 +03:00
Ivan Kylchik
685f599c82
[VISUALIZER] Allow to render all calls at unary expresion in fir
2021-03-19 18:30:23 +03:00
Ivan Kylchik
84d4a0609f
[VISUALIZER] Fix typealias rendering in fir
2021-03-19 18:30:22 +03:00
Ivan Kylchik
c94a4e7baf
[VISUALIZER] Fix class literals rendering
2021-03-19 18:30:21 +03:00
Ivan Kylchik
fb654ce09b
[VISUALIZER] Fix extension types rendering in fir
2021-03-19 18:30:20 +03:00
Ivan Kylchik
9e5645777d
[VISUALIZER] Add annotation text for backing field in fir
2021-03-19 18:30:19 +03:00