Roman Golyshev
7a37a7b2a0
[FIR IDE] Refactor KtFirReferenceShortener::findClassifierElementsToShorten
...
Instead of filtering lambda, pass only qualified elements to the
function (because non-qualified elements cannot possibly be shortened)
2021-09-06 14:42:04 +03:00
pyos
9ee0d6b60a
FE: don't use an experimental stdlib function
...
...for compatibility? idk.
2021-09-06 13:11:21 +03:00
pyos
0d78bcebca
FE: rename an extension to avoid conflicts with FIR member
2021-09-06 13:11:20 +03:00
pyos
476513fe96
FIR: rename type parameter: Annotation -> TAnnotation
2021-09-06 13:11:18 +03:00
pyos
c522543e44
FIR: mute a blackbox test that fails due to another case of #3747
2021-09-06 13:11:17 +03:00
pyos
9bb7a29baa
FIR: disregard enhancements for warnings
...
Warnings are not implemented yet, so don't produce errors either.
2021-09-06 13:11:16 +03:00
pyos
a475453a01
FIR: enable useCorrectedNullabilityForFlexibleTypeParameters
...
It's necessary for correct substitution of `T & Any` with `T = V..V?`.
2021-09-06 13:11:16 +03:00
pyos
bbc476f44e
FIR: in computeJvmDescriptor, convert type parameter bounds too
...
Note the sheer amount of TODOs, though - I'm honestly surprised that
function works at all.
2021-09-06 13:11:15 +03:00
pyos
a2e2545e3f
FIR: update loadJava tests
2021-09-06 13:11:14 +03:00
pyos
8163acb964
FIR: rearrange some stuff in Java type conversion code
2021-09-06 13:11:14 +03:00
pyos
090b90f62e
FIR: load type qualifiers from module, package, and parent classes
2021-09-06 13:11:13 +03:00
pyos
24210aacc8
FIR: use JSR-305 state from command line flags
2021-09-06 13:11:13 +03:00
pyos
bff4b8639b
FIR: remove FirJavaEnhancementContext
2021-09-06 13:11:12 +03:00
pyos
6f4b5cc73a
FIR: expect Java type parameter bounds to be converted first
2021-09-06 13:11:11 +03:00
pyos
ba1fc81b96
FIR: remove extra layers of caching above JavaSymbolProvider
...
There needs to be exactly one postcompute-aware cache in order to avoid
breaking recursive calls to getClassLikeSymbolByFqName.
2021-09-06 13:11:10 +03:00
pyos
09c34eaa7b
FIR: unmute some more blackbox tests
2021-09-06 13:11:09 +03:00
pyos
2847de10ac
FIR: enhance Java super types
2021-09-06 13:11:09 +03:00
pyos
03304bce96
FIR: enhance Java type parameter bounds
...
This also fixes handling of self-recursive types.
TODO: fix jspecify/{strict,warn}Mode/Captured.fir.kt
2021-09-06 13:11:08 +03:00
pyos
e2a48d3945
FIR: use frontend-independent Java type qualifier computation
2021-09-06 13:11:07 +03:00
pyos
e385484994
FIR: when translating raw types, reuse computed upper bounds
...
Also, don't bother ensuring that the upper bound has the same tree size
as the lower bound; the new index computation can handle it when some
subtrees of the lower bound are replaced by star projections in the
upper bound.
2021-09-06 13:11:06 +03:00
pyos
4654bdb199
FIR: replace 3 flags in Java type conversion with 1 enum
2021-09-06 13:11:05 +03:00
pyos
74b3634e1f
FIR: move Java type conversion functions to a separate file
2021-09-06 13:11:05 +03:00
pyos
9cb6b75665
FIR: remove a couple unused type enhancement abstractions
2021-09-06 13:11:04 +03:00
pyos
5704dffdbe
FIR: attach annotations to Java-converted cone types
2021-09-06 13:11:03 +03:00
pyos
5355d04553
FIR: enhance in/out-variant type arguments
2021-09-06 13:11:03 +03:00
pyos
8e122397b0
FIR: fix type index computation during enhancement
...
1. in/out type parameters count;
2. star projections take up 1 space in the tree.
2021-09-06 13:11:02 +03:00
pyos
5fec9f34b1
FIR: revert a hack that allows overriding T!! with T
...
1. this should've been only done if the language feature for validating
that is disabled;
2. that feature probably won't matter by the time FIR is stable;
3. it only worked because type enhancement of type arguments is broken
anyway - a more correct hack would be to provide a custom
ConeTypePreparator.
2021-09-06 13:11:01 +03:00
pyos
c85329905c
FE: remove ? enhancement code that is never used
...
Using `starProjectionType` to enhance `?` is pointless because
1. we explicitly ignore nullability annotations for `?` below;
2. mutability is irrelevant;
3. `starProjectionType` never returns references to other type
parameters due to how the type substitutor works.
2021-09-06 13:11:01 +03:00
pyos
a8b09a2016
FE: extract FIR-reusable code from SignatureParts
2021-09-06 13:11:00 +03:00
pyos
b31925e6c9
FE: slowly refactor extractQualifiersFromAnnotations 3
2021-09-06 13:10:59 +03:00
pyos
5c8d3180f7
FE: slowly refactor extractQualifiersFromAnnotations 2
2021-09-06 13:10:59 +03:00
pyos
9af8abb8b9
FE: slowly refactor extractQualifiersFromAnnotations 1
...
That code is convoluted, better take it slow to avoid accidentally
breaking (or fixing) anything.
2021-09-06 13:10:58 +03:00
pyos
8d39d155bb
FE/FIR: extract common code for mutability qualifiers
2021-09-06 13:10:57 +03:00
pyos
c753e547c6
FE/FIR: extract common code for type qualifier inheritance
2021-09-06 13:10:56 +03:00
pyos
19a9de32f8
FE: move SignatureParts out of SignatureEnhancement
2021-09-06 13:10:55 +03:00
pyos
56d37c8e1c
FE: separate type enhancement and FunctionN@Java warnings
2021-09-06 13:10:55 +03:00
pyos
f4f9b1b27b
FE: refactor propagation of type qualifier defaults though arguments
2021-09-06 13:10:54 +03:00
pyos
e0d0bf9ede
FIR/FE: extract common code for type qualifier defaults
2021-09-06 13:10:54 +03:00
pyos
8bf5e86788
FIR/FE: extract common code for handling known nullability annotations
2021-09-06 13:10:53 +03:00
pyos
9349d4b0d2
FIR/FE: extract common AnnotationTypeQualifierResolver code
...
TODO: extract the equivalent code that uses it...
2021-09-06 13:10:52 +03:00
pyos
29a240b261
FE: refactor AnnotationTypeQualifierResolver
...
Preparing for commonization with FIR
2021-09-06 13:10:51 +03:00
Sergey Bogolepov
ae2c8a3540
[K/N] Fix KT-48613
2021-09-06 09:58:34 +00:00
Dmitry Savvinov
d6cb96aa24
Wire proper KotlinTypeRefiner into ClassicTypeSystemCotextForCS
...
^KT-48589 Fixed
2021-09-06 12:06:26 +03:00
Svyatoslav Scherbina
9e50f40586
Use SYNTHETIC_OFFSET for constructors generated by noarg IR plugin
...
This should fix debug information on Native.
2021-09-06 07:32:01 +00:00
Abduqodiri Qurbonzoda
97eb28144f
Introduce Common readln() and readlnOrNull() top-level functions #KT-48456
2021-09-05 15:31:11 +00:00
Tianyu Geng
14b66872b5
FIR IDE: hoist up API to get Java getter/setter name of a property...
...
and expose API to get the getter and setter symbols for synthetic Java
properties.
2021-09-05 11:18:58 +03:00
Roman Golyshev
bb3f55dec2
[FIR IDE] Improve handling aliased types in KtFirImportOptimizer
2021-09-03 22:40:37 +03:00
Alexander Udalov
a06fc20680
JVM IR: erase parameter default value when copying it to bridge
...
#KT-48391 Fixed
2021-09-03 15:00:44 +02:00
Dmitry Petrov
bcafece28e
Minor: update testData
2021-09-03 15:54:19 +03:00
pyos
b1a8e8c7e6
JVM_IR: do not generate accessors for intrinsics
2021-09-03 15:54:19 +03:00