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
pyos
7ce5556de3
JVM_IR: try to fix SyntheticAccessorLowering.isAccessible again
...
The condition on the relationship between the current class and the type
of the receiver for protected members was the opposite of what the JVMS
says, and yet somehow mostly worked?
#KT-48331 Fixed
#KT-20542 Fixed
2021-09-03 15:54:16 +03:00