Dmitriy Novozhilov
a28d0e0b7f
Make IrTypeMapper delegate to AbstractTypeMapper
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
86d4d320c4
Introduce AbstractTypeMapper based on type markers
2020-09-24 16:51:06 +03:00
Dmitriy Novozhilov
7380abac13
Split AsmUtils to descriptors dependent and independent parts
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
54a5a066e8
Introduce new module for common parts of backend utils
...
Mainly it needed for abstract jvm type mapper for different type systems:
IrTypes and ConeKotlinTypes
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
c3a89e2507
Move common part of typeSignatureMapping.kt to :core:compiler.common.jvm
2020-09-24 16:51:05 +03:00
Dmitriy Novozhilov
d215c413cc
Move TypeMappingMode to :core:compiler.common.jvm
2020-09-24 16:51:05 +03:00
Roman Golyshev
6d0a5a0bb2
KT-41346 Implement NoReorderImplementation without reordering
...
- See the documentation for `DeserializedMemberScopeHelper` for the full
info about the fix and the issue
- Add `preserveDeclarationsOrdering` setting to
`DeserializationConfiguration`
- Enable this setting in `DeserializerForClassfileDecompiler`
- Also, use `List` instead of `Collection` to pass members to
`DeserializedMemberScope`. It is done to emphasize that the order of
the members is important and may be used
- Review: https://jetbrains.team/p/kt/review/1627
- ^KT-41346 Fixed
2020-09-23 15:27:51 +00:00
Roman Golyshev
bf371ff98a
KT-41346 Refactor computeNonDeclared*
...
Change the signature of the `computeNonDeclared*` methods so they expect
mutable lists - it better suits their contracts. Also, add a little
documentations about the contract
Also, change `Collection` to `List` for incoming protos to `emphasize`
that their order might be used
2020-09-23 15:27:50 +00:00
Roman Golyshev
b1097c49d3
KT-41346 Move Implementation to DeserializedMemberScope
2020-09-23 15:27:49 +00:00
Roman Golyshev
5596bf33d8
KT-41346 Move related code to OptimizedImplementation
...
This does not change any semantics, only moves the code around
2020-09-23 15:27:49 +00:00
Roman Golyshev
c8878f862d
KT-41346 Introduce inner OptimizedImplementation class
...
Make it implement `Implementation` and move definitions
there
2020-09-23 15:27:48 +00:00
Roman Golyshev
683dd57f24
KT-41346 Extract Implementation interface
...
This is a temporary interface to make refactoring easier
2020-09-23 15:27:47 +00:00
Roman Golyshev
341a7478ed
KT-41346 Move removing non-available functions to protected method
...
This would allow to stricten contract on `computeNonDeclaredFunctions`
2020-09-23 15:27:47 +00:00
Roman Golyshev
4f4c25ca5e
KT-41346 Cleanup DeserializedMemberScope
2020-09-23 15:27:46 +00:00
Alexander Udalov
d48307ec34
JVM IR: do not copy type parameters into suspend lambda classes
...
Declarations inside that class are referencing the type parameters of
the containing function anyway, since we don't do any remapping. So the
resulting IR is slightly more correct, and doesn't lead to type
parameter/argument size mismatch error on IrBased/Wrapped-descriptors.
This reverts a part of 01da7f289b , which looks like it was no longer
necessary after 8d0ffa1444 .
#KT-42028 Fixed
2020-09-23 12:21:37 +02:00
Dmitry Savvinov
6a55475392
Dont show warning for KT-21515 with LV>=1.3
2020-09-17 18:33:19 +03:00
Лихолетов Михаил
cfc1ebb4be
[FIR] Support several annotation argument diagnostics
2020-09-16 16:53:31 +03:00
Abduqodiri Qurbonzoda
36e6247125
Add more details about bit shift operations #KT-41112
2020-09-16 04:05:12 +03:00
Georgy Bronnikov
905978a458
JVM_IR: remove descriptor usage from JvmCachedDeclarations
2020-09-12 12:59:12 +03:00
Dmitriy Novozhilov
36d2129fd3
Move common deserialization classes from :core:metadata modules
2020-09-11 10:08:37 +03:00
Dmitriy Novozhilov
07a3009d43
Introduce new modules for common parts of deserialization
2020-09-11 10:08:37 +03:00
Dmitriy Novozhilov
9e1e525343
Fix circular dependency between :core:compiler:common.jvm and :core:metadata.jvm
2020-09-11 10:08:36 +03:00
Dmitriy Novozhilov
1417fcecb8
Move more common parts from :compiler:descriptors.jvm
2020-09-11 10:08:36 +03:00
Dmitriy Novozhilov
5d4d07066b
Move common deserialization components to :core:metadata and :core:metadata.jvm
2020-09-11 10:08:35 +03:00
Dmitriy Novozhilov
e1ad1aabc4
Move RequireKotlinConstants to :core:compiler.common
2020-09-11 10:08:34 +03:00
Dmitriy Novozhilov
8d2e89a9ea
Move ProtoEnumFlags to :core:metadata
2020-09-11 10:08:34 +03:00
Vladimir Dolzhenko
5036673187
Improve package caching in KotlinJavaPsiFacade
...
^KT-33394 Fixed
2020-09-10 07:38:46 +00:00
Victor Petukhov
685d16ec68
NI: don't do substitution for unsupported callable descriptors to use as callable references
...
^KT-41729 Fixed
2020-09-09 18:00:41 +03:00
Victor Petukhov
c1ebd33833
Capture flexible intersection types properly: take into account both bounds and use the same captured arguments for them
...
^KT-41693 Fixed
2020-09-09 14:52:12 +03:00
Victor Petukhov
140edb2215
Consider intersection with ILT subtype of ILT
2020-09-09 13:55:07 +03:00
Pavel Kirpichenkov
24d8aee2bb
Prioritize resolution anchors during resolution
...
When required dependency is present both in source dependencies and in
library dependencies, the former one should be selected.
#KT-24309
2020-09-07 18:52:10 +03:00
Pavel Kirpichenkov
5892bdf3f4
Extend import resolution for library-to-source analysis
...
Use composite importing scope for references when resolution anchors are enabled.
Composite scope provides additional descriptors from scope of resolution anchor module.
Overriding old importing scope with a new one is not possible as it breaks library
dependencies on other libraries, which are inaccessible in anchor scope (scope for sources).
KT-24309 In Progress
2020-09-07 18:52:10 +03:00
Dmitriy Novozhilov
6906e0d82d
Move common jvm classes from :core:descriptors.jvm to :core:compiler.common.jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
9806a85cc1
Move Java model classes to :core:compiler.common.jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
b81c0e91d5
Replace DescriptorVisibility with Visibility in Java model classes
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
696f089b3e
Make DescriptorVisibility delegate to Visibility
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
a05d6da43b
Move descriptor-independent Visibilities to common modules
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
2bcd8ee07f
Get rid of Visibility.effectiveVisibility member
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
7d9b7df3b4
Cleanup code in EffectiveVisibility.kt and extract descriptors related part to separate file
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
6346b1b2ab
Use type markers instead of class descriptors in effective visibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
64ec3fc42b
Move BuiltinSpecialProperties and JvmAbi to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
10fd164b77
Extract FE 1.0 dependent part from JavaToKotlinClassMap
...
Also move JavaToKotlinClassMap to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
136435bcc2
Move JvmPrimitiveType to :core:compiler.common
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
4d5f28d5c0
Move FunctionInvokeDescriptor.BIG_ARITY to :core:compiler.common
2020-09-04 11:07:41 +03:00
Dmitriy Novozhilov
bf4bf30b4a
Move CompanionObjectMapping to :core:compiler.common
2020-09-04 11:07:40 +03:00
Dmitriy Novozhilov
564d382b9d
Introduce new modules for common jvm related parts of compiler
2020-09-04 11:07:40 +03:00
Victor Petukhov
85d99612a2
Don't create inconsistent types (with contradictive use site and declaration site variances) for star projections with corresponding contravariant type parameters during substitution
...
^KT-41388 Fixed
2020-09-03 16:24:28 +03:00
Dmitry Petrov
8cb8284957
EnhancedNullability annotation in IR
...
Fixes KT-40115 & KT-40117.
Move FlexibleNullability annotation to 'kotlin.internal.ir'.
2020-09-01 16:06:03 +03:00
Dmitriy Novozhilov
a0b931792e
Move annotationsForResolve.kt to :core:compiler.common
2020-09-01 12:00:11 +03:00