Marco Pennekamp
567abd2a1c
KT-57207 Implement JavaClassFinder.findClasses
...
- This change is a prerequisite for allowing combined Java symbol
providers (in LL FIR) to correctly disambiguate classpath order after
getting classes with a combined scope, as the index access of the
combined Java symbol provider is not guaranteed to return the class
that should be first based on the original dependency order. To be
able to disambiguate, a combined Java symbol provider needs access to
all class candidates the index can find.
2023-04-17 11:07:47 +00:00
Marco Pennekamp
288606868e
[FIR] KT-57207 Avoid FirJavaFacade.knownClassNamesInPackage in the IDE
...
- `FirJavaFacade.knownClassNamesInPackage` cannot be computed in the IDE
using the current strategy because there are multiple finders and
there is no `CliFinder`. However, the cache was still used, which
caused it to be filled with `null` values and additionally caused
worse performance in `JavaSymbolProvider` due to hash map accesses via
`hasTopLevelClassOf`.
- Rewriting the strategy is non-trivial as additional indices are needed
on the IDE side. See KTIJ-24642.
2023-04-17 11:07:46 +00:00
Denis.Zharkov
eb09a25239
TypeSystemContext: Rework raw types processing
...
All the current usages are about checking if the type is raw,
also in K2 it is simply incorrect to assume that only flexible types
might be raw
2023-03-10 18:35:00 +00:00
Dmitrii Gridin
4dbce37c0f
[SLC] implement DefaultAnnotationsProvider
...
^KT-56046
2023-02-03 19:48:48 +00:00
Dmitriy Novozhilov
89c42e20c9
[FIR] Consistently use _function_ instead of _functional_ in names of classes and functions
2023-02-02 08:24:52 +00:00
Dmitriy Novozhilov
67aa80562d
[FE] Completely replace FunctionClassKind with FunctionalTypeKind
...
FunctionalTypeKind can be used in FE 1.0 too, so there is no need to
keep both classes. Also, removal of FunctionClassKind simplifies work
with FunctionalTypeKind in common code, like Analysis Api
2023-02-02 08:24:50 +00:00
Jinseong Jeon
b088e742ae
Introduce a util to copy TypeMappingMode for UAST
2023-01-17 13:56:42 +01:00
Kevin Bourrillion
503e093af3
Change the compiler to view both old and new JSpecify packages equal
...
Compiler uses the single reporting level for both old/new JSpecify packages
2022-12-27 11:11:00 +00:00
Evgeniy.Zhelenskiy
fa4ceb4ef4
[IR] Add diagnostics to forbid annotations for MFVC-typed elements
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:39 +00:00
pyos
6c6d653e85
FE: don't lose annotations on Java primitive arrays
...
but only use them to enhance for warnings for now.
^KT-48861 Fixed
2022-10-26 09:33:40 +02:00
Alexander Udalov
87d3ce6ded
Write a copy of SMAP to a new annotation
...
To make it available for dynamically attached JVMTI agents.
`@SourceDebugExtension` annotation value is equal to the
SourceDebugExtension attribute value, which is checked now for all box
tests. The difference is that the annotation stored in the constant
pool, which is available for dynamically attached JVMTI agents.
#KT-53438 Fixed
2022-09-09 14:32:35 +02:00
Abduqodiri Qurbonzoda
34e50649e8
Switch JVM target of the standard libraries to 1.8 #KT-51907
2022-08-13 01:33:45 +03:00
Victor Petukhov
cb2dbca0c3
[FE 1.0] Support loading rxjava3 nullability annotations on bounded wildcards
...
^KT-53041 Fixed
2022-07-11 12:44:07 +00:00
Ilya Chernikov
bb996c1b27
Switch kotlin version to 1.8
...
with appropriate fixes in testdata, tests and other
places.
2022-06-29 10:20:30 +02:00
Dmitriy Novozhilov
26df9d74e8
[FE] Add flag to java model to distinguish source java classes from binaries
2022-06-07 14:12:23 +00:00
Jinseong Jeon
58c2433bdd
FIR LC: use unified annotations' ClassId (missed JvmName)
2022-05-24 20:32:55 +02:00
Yahor Berdnikau
af6f17c243
Unify kotlinCompilerClasspath for all projects
...
This will prevent spawning second Kotlin daemon during compilation
except 'buildSrc' compilation. Original change was introduced in
2e515f3945 commit.
2022-05-24 07:58:38 +00:00
Victor Petukhov
fbb2e18bea
[FE 1.0] Use 1.7.20 as default language version for java type enhancement
...
^KT-50478
2022-05-23 12:36:31 +02:00
Alexander Udalov
2e515f3945
Prohibit JVM target 1.6
...
But still compile stdlib, reflect, kotlin.test and scripting runtimes
with JVM target 1.6 to simplify migration from Kotlin 1.6 to 1.7.
#KT-45165 Fixed
2022-04-19 22:54:40 +02:00
Victor Petukhov
baedd285e8
[FE] Postpone enabling io.reactivex.rxjava3.annotations in the strict mode by default till 1.8
...
^KT-50845 Fixed
2022-04-19 11:58:37 +00:00
Ivan Kochurkin
e010f59560
Move JSPECIFY_ANNOTATIONS_PACKAGE to 1.8
2022-02-25 11:46:28 +00:00
Ilmir Usmanov
2fedb97d16
Correctly map nullable generic underlying value of inline class
...
if upper bound is primitive type.
#KT-32162
2022-02-15 08:11:17 +01:00
Ilmir Usmanov
a7e2f7a6b6
Map nullable type parameter with nullable inline class upper bound
...
which, in turn, has primitive or nullable underlying type to inline
class.
#KT-32162
2022-02-15 08:11:15 +01:00
Ilmir Usmanov
4f95171472
Minor. Add tests
2022-02-15 08:11:10 +01:00
Dmitriy Novozhilov
17916d4a63
[FE] Return Name? instead of List<Name> from getBuiltinFunctionNamesByJvmName
...
This is much more correct, because we have one to one mapping for
special java functions in this case, so using single nullable name
instead of list of names makes code more readable
2022-01-19 15:24:43 +03:00
Victor Petukhov
29f174f074
Revert "Revert "Temporary workaround for failing tests on teamcity.""
...
This reverts commit 2c51799e0a .
2021-12-27 22:56:01 +03:00
Victor Petukhov
2c51799e0a
Revert "Temporary workaround for failing tests on teamcity."
...
This reverts commit 2436ca3d8b .
2021-12-23 13:42:56 +03:00
Stanislav Erokhin
2436ca3d8b
Temporary workaround for failing tests on teamcity.
...
This commit should be reverted later with testdata update
2021-12-22 18:51:20 +01:00
Jinseong Jeon
82c2f0c6fd
FIR LC: use unified annotations' ClassId or FqName
2021-12-15 08:20:02 +03:00
Mikhail Glukhikh
533e802c8d
FIR: support JVM_DEFAULT_WITH_COMPATIBILITY_* diagnostics (FE 1.0 sync)
2021-12-09 13:26:40 +03:00
Mikhael Bogdanov
ea58c858d1
JvmDefault. Support @JvmDefaultWithCompatibility annotation
...
#KT-48217 Fixed
2021-12-06 14:20:24 +01:00
Dmitriy Novozhilov
01c0cf80d0
[FIR] Support @kotlin.jvm.PurelyImplements annotation
2021-11-22 17:01:17 +03:00
Tianyu Geng
8ba2e4d221
FIR: move JavaAnnotationMapper.javaToKotlinNameMap to common
...
so that FIR IDE logic can reference it
2021-11-04 20:52:50 +01:00
Victor Petukhov
d015d3bc0e
Don't enhance previously erased value parameters for jspecify strict mode
...
^KT-48261 Fixed
2021-10-26 19:37:55 +03:00
Denis.Zharkov
0bdea4f20a
FIR: Do not create incorrect synthetic property
2021-10-26 18:45:59 +03:00
Denis.Zharkov
fe1b4d61c2
Move some property convention helpers to compiler.common.jvm
...
Since it will be used in FIR, too
2021-10-26 18:45:58 +03:00
Georgy Bronnikov
41e38d5a1a
JVM_IR: move serialized IR to a separate annotation
2021-10-02 00:56:46 +03:00
Victor Petukhov
70d70b9042
Use warn mode by default for jspecify nullability annotations in 1.6
...
^KT-48851 Fixed
2021-09-30 20:08:35 +03:00
Denis.Zharkov
9ac29e0714
Fix enhancement when mixing TYPE_USE and non-TYPE_USE annotations
2021-09-28 22:59:18 +03:00
Denis.Zharkov
38fa900e56
FIR: Optimize case with no annotations on package
2021-09-23 16:58:26 +03:00
Dmitriy Novozhilov
9d09b9605f
[FIR] Cleanup and reorganize utils in :compiler:fir:java
2021-09-15 17:11:30 +03:00
Ilya Kirillov
a8d321db63
FIR IDE: do not use FE1.0 compiler jars in frontend-independent-modules
2021-09-14 14:45:43 +02:00
Dmitriy Novozhilov
5769d42248
[FIR] Fix all usages of annotations due to new FirAnnotation hierarchy
2021-09-13 13:53:12 +03:00
Ivan Kochurkin
8cdb79f969
Move JvmNames, JvmFieldApplicabilityProblem to common.jvm module
2021-09-10 00:49:10 +03:00
Ivan Kochurkin
69a13a3269
[FIR] Use getAnnotationByClassId instead of getAnnotationByFqName in JVM checkers
2021-09-10 00:49:09 +03:00
pyos
94402ba488
FE: prefer enhancements for errors over enhancements for warnings
2021-09-08 16:54:17 +03:00
pyos
afa1d18cc2
FE: in NullMarked scope, enhance T! to at least T
...
#KT-44436 Fixed
2021-09-08 16:54:17 +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
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