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
Ivan Kylchik
813e48ffb4
[VISUALIZER] Replace rendering of class with no name to anonymous
2021-03-19 18:30:18 +03:00
Ivan Kylchik
ca424a94ef
[VISUALIZER] Add local path to local declarations in fir
2021-03-19 18:30:16 +03:00
Ivan Kylchik
607c7b3e82
[VISUALIZER] Add implicit receiver rendering in fir
2021-03-19 18:30:15 +03:00
Ivan Kylchik
0ca0304865
[VISUALIZER] Fix render of null constant in fir
2021-03-19 18:30:14 +03:00
Ivan Kylchik
48ee4791b6
[VISUALIZER] Fix rendering of enum class and enum entry in fir
2021-03-19 18:30:12 +03:00
Ivan Kylchik
e2a7da25b0
[VISUALIZER] Rewrite fir symbol's rendering
2021-03-19 18:30:10 +03:00
Ivan Kylchik
cc7d82ab7b
[VISUALIZER] Change rendering of equality operator
2021-03-19 18:30:06 +03:00
Ivan Kylchik
05efb8c129
[VISUALIZER] Add possibility to render callable reference in fir part
2021-03-19 18:30:04 +03:00
Ivan Kylchik
f2cf86a3ae
[VISUALIZER] Fix package rendering
2021-03-19 18:30:02 +03:00
Ivan Kylchik
c4be67b518
[VISUALIZER] Change rendering of constructors in fir part
2021-03-19 18:30:01 +03:00
Ivan Kylchik
945cc36ce3
[VISUALIZER] Add annotation at Array.set method
2021-03-19 18:30:00 +03:00
Dmitriy Novozhilov
38437fb036
[FIR] Rename session.firSymbolProvider to session.symbolProvider
...
to avoid visual conflicts with `session.firProvider`
2021-02-09 16:04:39 +03:00
Stanislav Erokhin
d24331955e
Rename FirConstKind to ConstantValueKind and move it to compiler.common
2021-01-14 12:12:25 +01:00
Alexander Udalov
77a9d14f93
Capitalize/decapitalize only ASCII characters across project
...
Use {de,}capitalizeAsciiOnly and to{Lower,Upper}CaseAsciiOnly where
possible, and stdlib's functions with Locale.US everywhere else.
Otherwise, if the default system locale is Turkish, the capital latin
letter "I" is transformed in toLowerCase to "ı" (see
https://github.com/JetBrains/kotlin/blob/66bc142f92085047a1ca64f9a291f0496e33dd98/libraries/stdlib/jvm/test/text/StringJVMTest.kt#L119 ),
which for example breaks the codegen for `intArrayOf` in
KT-25400/KT-43405.
Similarly, lower case latin letter "i" is transformed to "İ".
#KT-13631 Fixed
#KT-25400 Fixed
#KT-43405 Fixed
2020-12-28 16:10:30 +01:00
Dmitriy Novozhilov
93d63f7c66
[FIR] Get rid of FirResolvedFunctionTypeRef
2020-09-17 17:23:25 +03:00
Mikhail Glukhikh
f0af930288
[FIR] Eliminate unused FirDelegatedTypeRef
2020-08-31 14:31:56 +03:00
Dmitriy Novozhilov
e6837a5b8c
[FIR] Unify implementations of toSymbol and getSymbolByLookupTag
2020-08-21 15:28:34 +03:00
Dmitriy Novozhilov
111b8c0169
[FIR] Cleanup caching symbol in ConeClassLikeLookupTagImpl
...
Type of `boundSymbol` replaced to OneElementWeakMap
`FirSymbolProvider.getSymbolByLookupTag` moved to extensions
2020-08-21 15:27:55 +03:00