Roman Golyshev
0fe068c6ce
FIR IDE: Find FIR declarations for compiled PSI elements separately
...
When PSI declaration comes from the library with classfiles,
its `moduleInfo` is represented by `LibrarySourceInfo` class.
In this case we have to resort to other ways of looking for
corresponding FIR declaration
It is easy to do for classes (by `classId`) and for the properties
(by `classId` of the containing class and property's name)
It is harder for callables, so we use
`KtDeclarationAndFirDeclarationEqualityChecker` to do that
2021-06-16 15:38:52 +00:00
Roman Golyshev
be51738483
FIR IDE: Move KtDeclarationAndFirDeclarationEqualityChecker to idea-fir-low-level-api module
...
It will be required to compare PSI and FIR declarations
for compiled PSI elements
2021-06-16 15:38:51 +00:00
Roman Golyshev
66047f159f
FIR IDE: Resolve declaration in withFirDeclaration only if needed
2021-06-16 15:38:51 +00:00
Roman Golyshev
9e4c5eed5f
FIR IDE: Make ModuleLibrariesSearchScope work only on .class sources
...
If this scope will accepts sources, then it will cause problems later
(when we will get libraries' sources from indices and will try to
resolve them to FIR declaration)
2021-06-16 15:38:50 +00:00
Igor Chevdar
caa852061a
[box-tests] Ignored a test for K/N
...
More info in https://youtrack.jetbrains.com/issue/KT-44571
2021-06-16 17:25:07 +05:00
Abduqodiri Qurbonzoda
59031543e2
Throw on invalid AbstractMutableList.addAll index #KT-47211
2021-06-16 11:59:46 +00:00
Nikita Nazarov
7e44cddbab
Introduce the fragment compiler backend to the debugger infrastructure
2021-06-16 13:58:18 +03:00
pyos
aa47191de4
JVM: hide ExpressionCodegen in finally block generation during inlining
2021-06-16 12:13:32 +02:00
pyos
108bd01698
JVM: refine the stack spilling around inline calls
...
Not all suspend functions need it - only those with suspension points.
2021-06-16 12:13:32 +02:00
pyos
b136acb185
JVM: move callSiteFile to InlineCallSiteInfo
2021-06-16 12:13:32 +02:00
pyos
6c1a5e1211
JVM: make inline function argument processing a bit shorter
2021-06-16 12:13:32 +02:00
pyos
392e4fba42
JVM: fix inlining of default lambdas of signature (Result) -> Any
...
They have no `invoke` bridge, and the overridden invoke expectes a boxed
`Result` as an argument.
2021-06-16 12:13:32 +02:00
pyos
a0a14d9e25
JVM: remove descriptors from SourceCompilerForInline
...
Printing the call site source on errors isn't really useful anyway - the
old backend points to a specific PsiElement, and JVM_IR wraps the
exception in FunctionCodegen (and printing the source never worked with
JVM_IR anyway).
2021-06-16 12:13:32 +02:00
pyos
32ad747632
JVM: load default lambda method nodes immediately
...
The ones that are not needed are filtered out before DefaultLambda is
even constructed anyway, and this way we need fewer lateinit vars.
2021-06-16 12:13:32 +02:00
pyos
1e953eaf01
JVM: remove contextKind from SourceCompilerForInline
...
Guess what? It's only useful for the old backend's type mapper!
2021-06-16 12:13:32 +02:00
pyos
1109348b6d
JVM: remove lookupLocation from SourceCompilerForInline
2021-06-16 12:13:32 +02:00
pyos
b6e9f64e18
JVM: remove functionDescriptor from InlineCodegen
2021-06-16 12:13:32 +02:00
pyos
d89e2d9f08
JVM: split inline intrinsics into "needed by JVM_IR" and "not"
...
or, alternatively, "suspend" and "not".
2021-06-16 12:13:32 +02:00
pyos
eb4d831d27
JVM_IR: implement typeOf<T> as a codegen intrinsic
...
rather than a fake inline function.
Also, generate more correct instructions for typeOf. Not sure how that
even worked before - `aconst(Boolean)` isn't even valid.
2021-06-16 12:13:32 +02:00
pyos
7dbf08ae1c
JVM: move loadCompiledInlineFunction out of InlineCodegen
2021-06-16 12:13:32 +02:00
pyos
8307367f90
JVM: don't thread callDefault through the inliner
...
It's only used by the old backend, and should be given to
PsiSourceCompilerForInline by PsiInlineCodegen.
2021-06-16 12:13:32 +02:00
sebastian.sellmair
6dd598c7a7
[Gradle] Enable Kotlin tooling metadata artifact by default
...
^KT-44584
2021-06-16 09:44:32 +00:00
Igor Chevdar
a1e5bef3ad
[box-tests] Ignored some tests for K/N
...
A file included twice in a source set is not supported for now
2021-06-16 14:27:14 +05:00
Iaroslav Postovalov
0ba3ddcc29
Minor. Fix a typo, change visibility of internal object
2021-06-16 10:22:44 +03:00
Svyatoslav Scherbina
e324c9b3fb
Generate initRuntimeIfNeeded() at the beginning of staticCFunction
...
#KT-44283 Fixed
2021-06-16 06:39:51 +00:00
Yaroslav Chernyshev
6e9739caec
Add regression test for MPP android source set with resources
2021-06-16 09:32:45 +03:00
Georgy Bronnikov
f0f01db66e
Temporarily mute a failing test
2021-06-16 01:48:28 +03:00
Ilya Kirillov
39e2df6916
FIR IDE: render unresolved types as qualifiers for member generator
2021-06-16 01:17:44 +03:00
Ilya Kirillov
cf7870e376
FIR IDE: implement toString for KtType
2021-06-16 01:17:43 +03:00
Ilya Kirillov
af9e6253e4
FIR IDE: add ability to specify type argument in KtClassTypeBuilder
2021-06-16 01:17:42 +03:00
Ilya Kirillov
148c90dd1e
FIR IDE: do not make KtTypeArgumentWithVariance abstract
...
As it does not require specific FIR implementation
2021-06-16 01:17:41 +03:00
Ilya Kirillov
6a9c49dd9d
FIR IDE: rename coneType parameter in KtFirType constructors to not accidentally leak it via lambdas
2021-06-16 01:17:40 +03:00
Ilya Kirillov
1d1eab6947
FIR IDE: make KtSymbolByFirBuilder to be a weak ref in KtType to avoid memory leaks
2021-06-16 01:17:39 +03:00
Ilya Kirillov
73bb2e76f2
FIR IDE: introduce KtFirDefinitelyNotNullType
2021-06-16 01:17:38 +03:00
Ilya Kirillov
8177a70ff9
FIR IDE: introduce KtCapturedType
2021-06-16 01:17:36 +03:00
Ilya Kirillov
e2cfd933f1
FIR IDE: introduce HL API for creating class types
2021-06-16 01:17:35 +03:00
Ilya Kirillov
8094a5448d
FIR IDE: render error message for KtClassErrorType
2021-06-16 01:17:34 +03:00
Ilya Kirillov
0a6c96492a
FIR IDE: simplify KtType hierarchy
...
- get rid of Kt(Non)DenotatbleType super classes as unused
- make KtErrorType to inherit KtClassType to be consistent with FIR
2021-06-16 01:17:32 +03:00
Tianyu Geng
f6078b24df
FIR IDE: AddToString quickfix
2021-06-15 20:19:53 +02:00
Tianyu Geng
1b8b5b9a79
FIR IDE: move AddToStringFix to fe-independent
2021-06-15 20:19:52 +02:00
Tianyu Geng
4bedf41f9c
FIR IDE: RemoveNulalbleFix quickfix
2021-06-15 20:19:52 +02:00
Tianyu Geng
b10de3dd2d
FIR IDE: Move RemoveNullableFix to fe-independent
2021-06-15 20:19:52 +02:00
Victor Petukhov
559bedf5ae
Continue processing not builder inference stub variables in the type checker during computing common super type
...
^KT-47148 Fixed
2021-06-15 17:40:56 +03:00
Victor Petukhov
85f4cec948
Don't ignore Java nullability annotations without target and unresolved when nullability qualifiers are extracted, with enabled type enhancement improvements
...
^KT-47276 Fixed
2021-06-15 17:28:25 +03:00
Mads Ager
ae03e2983d
[JVM_IR] Keep track of catch variable gaps.
...
This ensures that catch variables are not visible in duplicated
finally blocks generated at an exit within the catch variable
scope.
^KT-46449 Fixed
2021-06-15 15:18:59 +02:00
Elena Lepilkina
6aba6ea670
[K/N][perf] Fix separator stayed wrong after migrating from groovy
2021-06-15 11:39:25 +00:00
Victor Petukhov
9fa0cf132f
Regenerate idea fir low level api tests
2021-06-15 12:52:06 +03:00
Pavel Punegov
f9d5cc90a8
[native] Disable test that fail due to the unaligned int64 access
2021-06-15 11:51:43 +03:00
Vasily Levchenko
695339e21f
[k/n][tests][debugger] test for KT-47198.
2021-06-15 08:04:19 +00:00
Vasily Levchenko
524a9351de
[k/n][tests][debugger] modify test to conform KT-47198
2021-06-15 08:04:18 +00:00