Denis.Zharkov
0aa8181960
FIR: Rename AbstractFirDeserializedSymbolsProvider -> AbstractFirDeserializedSymbolProvider
2021-09-23 16:58:25 +03:00
Denis.Zharkov
54a97a860a
FIR: Minor. Rename JavaClassConverter -> FirJavaFacade
2021-09-23 16:58:24 +03:00
Denis.Zharkov
9902d36d57
FIR: Minor. Rename
2021-09-23 16:58:24 +03:00
Denis.Zharkov
1fc2f13a35
FIR: Pull creation of JavaClassConverter to session factory
2021-09-23 16:58:22 +03:00
pyos
36b02082a6
FIR: try to load as Java class if KotlinClassFinder returns null
...
The IDE implementation of KotlinClassFinder does not always return the
class file contents.
2021-09-15 19:15:17 +03:00
Dmitriy Novozhilov
9d09b9605f
[FIR] Cleanup and reorganize utils in :compiler:fir:java
2021-09-15 17:11:30 +03:00
Dmitriy Novozhilov
7a347b11e3
[FIR] Use StandardClassIds instead of StandardNames everywhere it's possible
2021-09-15 17:11:30 +03:00
Dmitriy Novozhilov
5c2a3bb78e
[FIR] Move duplicating names and classIds to StandardClassIds
2021-09-15 17:11:29 +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
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
4b662a42a1
[FIR] Rename FirAnnotationCall to FirAnnotation
2021-09-13 13:53:09 +03:00
Nikolay Lunyak
b72488b4c2
[FIR] Add replaceGetter & replaceSetter
2021-09-11 22:05:33 +03:00
Nikolay Lunyak
ee58df6b3c
[FIR] Add FirBackingField
2021-09-11 22:05:29 +03:00
Ivan Kochurkin
7c6326856b
[FIR] Use toFirRegularClassSymbol instead of toFirRegular in checkers
2021-09-10 00:49:11 +03:00
Ivan Kochurkin
ee37768808
[FIR] Rename getClassLikeSymbolFqName to getClassLikeSymbolByClassId
2021-09-10 00:49:10 +03:00
Ivan Kochurkin
f3e754f314
[FIR] Remove excess FirAnnotationContainer from some super types
2021-09-10 00:49:08 +03:00
Ivan Kochurkin
55f33999f1
[FIR] Add REPEATED_ANNOTATION, REPEATED_ANNOTATION_WARNING
2021-09-10 00:49:07 +03:00
Ivan Kochurkin
fa12e72551
[FIR] Add REPEATABLE_CONTAINER_* diagnostics
...
REPEATABLE_CONTAINER_MUST_HAVE_VALUE_ARRAY
REPEATABLE_CONTAINER_HAS_NON_DEFAULT_PARAMETER
REPEATABLE_CONTAINER_HAS_SHORTER_RETENTION
REPEATABLE_CONTAINER_TARGET_SET_NOT_A_SUBSET
REPEATABLE_ANNOTATION_HAS_NESTED_CLASS_NAMED_CONTAINER
2021-09-10 00:49:07 +03:00
Ivan Kochurkin
cfd2835254
[FIR] Add JVM Default diagnostics
2021-09-10 00:48:59 +03:00
Dmitriy Novozhilov
405670e111
Merge :compiler:fir:jvm module into :compiler:fir:java
2021-09-09 17:20:14 +03:00
pyos
f793afbfea
FE: do not enhance ? into ? extends @NotNull Object in JSR-305
...
This is already done in jspecify and makes more sense anyway.
2021-09-08 16:54:17 +03:00
pyos
0d78bcebca
FE: rename an extension to avoid conflicts with FIR member
2021-09-06 13:11:20 +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
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
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
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
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
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