Alexander Udalov
eee8b033a6
JVM IR: minimize usages of jvmPhases outside backend.jvm
2021-09-14 22:29:12 +02:00
Alexander Udalov
b4c84aa2a6
JVM IR: move out bridge/collection lowering caches to separate files
...
Both BridgeLoweringCache and CollectionStubComputer are not tecnically
part of the lowerings, so they shouldn't be in the "lower" package.
2021-09-14 22:29:12 +02:00
Alexander Udalov
08cc789123
JVM IR: move out common utilities from lowerings
...
The main idea is to remove dependencies on lowerings from other
backend.jvm code (mainly codegen), with the hope of extracting lowerings
and codegen to separate unrelated modules in the future.
To achieve this, code which is used both in lowerings and codegen is
moved to the "common" code, mainly JvmIrUtils/JvmIrTypeUtils.
2021-09-14 22:29:12 +02:00
Alexander Udalov
36a3db44da
JVM IR: slightly cleanup and split IrUtils.kt
...
- Move IrType-specific utilities to separate JvmIrTypeUtils.kt
- Extract JvmIrBuilder to a separate file
- Rename IrUtils.kt to JvmIrUtils.kt to be able to tell it apart from
numerous other IR utils files
2021-09-14 22:29:12 +02:00
Alexander Udalov
e857966edb
JVM: remove support for disabling NoConstantValueAttributeForNonConstVals
...
This feature is enabled by default since 1.4, which is the earliest
language version supported by Kotlin at this moment.
2021-09-14 22:29:12 +02:00
pyos
d07070e184
JVM_IR: avoid redundant accessors in private inline funs
...
Their call sites are all in the same file, so we can check whether the
declarations used in the inline function are accessible from all the
places where it will be inlined.
#KT-48736 Fixed
2021-09-14 22:17:10 +02:00
Denis.Zharkov
ef684c0dff
FIR: Improve error reporting for EXPRESSION_EXPECTED_PACKAGE_FOUND
2021-09-14 19:13:47 +03:00
Denis.Zharkov
8f6ec42304
FIR: Drop unnecessary withIncrementedQualifierPartIndex
2021-09-14 19:13:46 +03:00
Denis.Zharkov
0923526162
FIR: Minor. Drop unused getWholeQualifierSourceIfPossible
2021-09-14 19:13:45 +03:00
Denis.Zharkov
8ff25825dd
Minor. Extract obtainValueParametersFromResolvedLambdaAtom
2021-09-14 19:13:44 +03:00
Denis.Zharkov
e3122d0c90
Minor. Extract transformAnonymousFunctionWithExpectedType
2021-09-14 19:13:42 +03:00
Denis.Zharkov
226893c648
FIR: Adjust test data to correct from FE 1.0 point-of-view behavior
...
^KT-38031 Related
2021-09-14 19:13:41 +03:00
Denis.Zharkov
6e6be7c953
FIR: Adjust test data
...
Currently, we've got two places where NO_COMPANION_OBJECT is reported
and they perform it kind of differently
2021-09-14 19:13:40 +03:00
Denis.Zharkov
9ca96ebbd2
FIR: Add FirVisibilityQualifierChecker
2021-09-14 19:13:39 +03:00
Denis.Zharkov
9575d4d242
FIR: Rework qualifier-in-expression resolution
...
Get rid of stateful FirQualifiedNameResolver
Resolve a.b.c-like calls step-by-step using just recursion
^KT-48363 Fixed
2021-09-14 19:13:38 +03:00
Denis.Zharkov
69f7c2278d
FIR: Simplify resolution for qualifier receiver
...
Seems there's no need anymore in ClassifierPrioritized group
2021-09-14 19:13:36 +03:00
pyos
9fa3e2eb13
FIR: always load parents of nested classes first
2021-09-14 19:00:48 +03:00
pyos
032cf5a892
FIR: JavaSymbolProviderWrapper -> JavaSymbolProvider
2021-09-14 19:00:47 +03:00
pyos
30c8fa89f6
FIR: rename JavaSymbolProvider to JavaClassConverter
2021-09-14 19:00:46 +03:00
pyos
3a80cb1808
FIR: hide construction of JavaSymbolProvider
2021-09-14 19:00:45 +03:00
pyos
8ff79e002e
FIR: load parents of Java inner classes first, as before
2021-09-14 19:00:44 +03:00
pyos
cac0cf6a50
FIR: join KotlinDeserializedJvmSymbolsProvider and JavaSymbolProvider
...
This allows reusing class finder results.
2021-09-14 19:00:43 +03:00
Nikolay Lunyak
0181c80ddb
[FIX] Add some more tests
2021-09-14 18:42:27 +03:00
Nikolay Lunyak
d7e00a5907
[FIX] Fix error types
2021-09-14 18:42:26 +03:00
nataliya.valtman
130fd8311e
KT-48620: add readable output size metric into build scan
2021-09-14 17:56:11 +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
Hung Nguyen
a48bf63630
KT-45777: Compute classpath changes for incremental Kotlin compile
...
Test: Updated unit tests + incremental compilation integration tests
2021-09-14 12:10:38 +03:00
Roman Golyshev
57608d7eeb
Use correct elementType in KotlinBackingFieldStubImpl constructor
2021-09-13 21:58:00 +03:00
Ivan Kochurkin
a816bd9a33
[FIR] Add JVM_INLINE_WITHOUT_VALUE_CLASS, VALUE_CLASS_WITHOUT_JVM_INLINE_ANNOTATION
2021-09-13 20:49:00 +03:00
Ivan Kochurkin
7e7066d75e
[FIR] Add FUNCTION_DELEGATE_MEMBER_NAME_CLASH
2021-09-13 20:48:59 +03:00
Ivan Kochurkin
a5caa14255
[FIR] Add SPREAD_ON_SIGNATURE_POLYMORPHIC_CALL
2021-09-13 20:48:59 +03:00
Ivan Kochurkin
5760a94ab4
[FIR] Add CONCURRENT_HASH_MAP_CONTAINS_OPERATOR
2021-09-13 20:48:58 +03:00
Ivan Kochurkin
0ffd6ccb34
[FIR] Add SUSPENSION_POINT_INSIDE_CRITICAL_SECTION
2021-09-13 20:48:57 +03:00
Ivan Kochurkin
e97933a9e5
[FIR] Add POSITIONED_VALUE_ARGUMENT_FOR_JAVA_ANNOTATION
2021-09-13 20:48:55 +03:00
Ivan Kochurkin
dd46c36b24
[FIR] Add SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC
2021-09-13 20:48:54 +03:00
Ivan Kochurkin
07edb15138
[FIR] Expand typealias for correct approximation of types (particularly Int and Long)
2021-09-13 14:28:26 +00:00
Dmitriy Novozhilov
d390f881c8
[FE 1.0] Record USED_AS_EXPRESSION for unreachable CFG nodes
...
^KT-48708 Fixed
2021-09-13 16:22:50 +03:00
Dmitry Gridin
72752473bf
[light classes] KtLightClassForSourceDeclaration: update equals and hashCode to fix PluginException
...
^KTIJ-19042 Fixed
^EA-357501 Fixed
2021-09-13 11:43:22 +00:00
Dmitriy Novozhilov
feeeb16377
[FIR] Fix consistency tests
2021-09-13 13:53:15 +03:00
Dmitriy Novozhilov
765b389875
[FIR] Mute failing test due to KT-48675
2021-09-13 13:53:14 +03:00
Dmitriy Novozhilov
d1db9b17e5
[FIR] Add workaround for KT-48675
2021-09-13 13:53:13 +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
2e7564a21e
[FIR] Properly create FirAnnotation and FirAnnotationCall in all places
2021-09-13 13:53:12 +03:00
Dmitriy Novozhilov
31a7d8d5a4
[FIR] Split FirAnnotation into FirAnnotation and FirAnnotationCall
...
FirAnnotation represents simple annotation placed on some element.
This element contains only annotation type ref and simple argument
mapping
FirAnnotationCall is a element for call of annotation (`@Ann(args)`)
which was written in user code. FirAnnotationCall is a resolvable call
2021-09-13 13:53:11 +03:00
Dmitriy Novozhilov
52e339593e
[FIR] Infer name of FIR elements in generator from property name
2021-09-13 13:53:10 +03:00
Dmitriy Novozhilov
4b662a42a1
[FIR] Rename FirAnnotationCall to FirAnnotation
2021-09-13 13:53:09 +03:00
Dmitriy Novozhilov
a7353d5a02
[FIR] Remove redundant deprecated annotation
2021-09-13 13:53:08 +03:00
Dmitriy Novozhilov
728df8127c
[FIR] Unify FirResolvedArgumentList with FirPartiallyResolvedArgumentList
...
Effectively FirPartiallyResolvedArgumentList was resolved argument list
for error calls, so not all arguments had proper value parameter. So
FirPartiallyResolvedArgumentList now inherits FirResolvedArgumentList
and renamed to FirResolvedArgumentListForErrorCall
2021-09-13 13:53:08 +03:00
Dmitriy Novozhilov
8904d6fde9
[FIR] Remove BodyBuildingMode.STUBS from RawFirBuilder
2021-09-13 13:53:07 +03:00
Dmitriy Novozhilov
116a1c1e46
[FIR] Remove stubMode flag from RawFirBuilder and LightTree2Fir converter
2021-09-13 13:53:05 +03:00