Dmitriy Novozhilov
0550f0d394
[Lombok] Make visibility of fields of @Value classes private by default (K1)
...
^KT-51092
2023-02-10 12:30:12 +00:00
Ivan Kochurkin
a9bac2f18b
Add PackageAndMetadataPartProvider interface
...
Use it for parameter in MetadataSymbolProvider
2023-02-07 14:16:29 +00:00
Roman Efremov
878608b7b2
Don't add Enum.entries to scope if it can't be called
...
^KT-53929 Fixed
2023-01-23 12:53:06 +01:00
Denis.Zharkov
58c1b5dd1f
K2: Optimize AbstractFirDeserializedSymbolProvider
...
Avoid filling caches with keys that are definitely empty
(if it's cheap to compute that), to decrease the size of backing maps.
The strategy is pre-computing the sets of names that might be met.
NB: the size of the sets is way fewer than a size of all queried names.
2023-01-19 10:57:42 +00:00
Mikhail Glukhikh
cbedbda527
Enhance API/messages around BinaryVersion / JvmMetadataVersion
2023-01-16 18:16:07 +01:00
Mikhail Glukhikh
0c4a0360ac
Deserialization/class reading: pass chosen JvmMetadataVersion whenever possible
2023-01-16 18:16:07 +01:00
Vladimir Dolzhenko
d6e587171e
Optimize isDefinitelyNotSamInterface
...
Do not generate intermediate garbage and no reason to iterate over
all non-SAM candidates when more than one found
#KTIJ-23032
2023-01-03 14:36:01 +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
Dmitriy Novozhilov
d423782fac
[FE 1.0] Remove usages of safeAs and cast from most of FE 1.0 modules:
...
- :core:descriptors
- :core:descriptors.jvm
- :core:deserialization
- :compiler:cli
- :compiler:frontend
- :compiler:frontend:cfg
- :compiler:frontend.java
- :compiler:frontend.common.jvm
- :compiler:psi
- :compiler:resolution
- :compiler:resolution.common
- :compiler:resolution.common.jvm
- :kotlin-reflect-api
2022-10-12 13:58:56 +00:00
Alexander Udalov
4dcf50d483
Fix reflection for repeated annotations with array arguments
...
This is related to 8308f5d7d3 (KT-44977).
It turns out that it's necessary to create `ArrayValue` with a
precomputed type not only in case of annotations stored directly in
Kotlin metadata (i.e. annotations on types and type parameters), but
also for arguments of repeated annotations. The reason is that repeated
annotations are stored in an array themselves, as an argument to another
(container) annotation. The annotation-reading code unwraps this array
to load repeated annotations as individual instances of
`AnnotationDescriptor`, but in contrast to loading normal annotations,
it doesn't set `source` to the reflection object, it uses `NO_SOURCE`
(see BinaryClassAnnotationAndConstantLoaderImpl.AbstractAnnotationArgumentVisitor.visitArray).
So when kotlin-reflect is later asked for the arguments of the
annotation, it needs to recreate the reflection object from
`AnnotationDescriptor` in `util.kt`. Doing so requires knowing the array
type, which is now present because we're creating a `TypedArrayValue`
(previously `DeserializedArrayValue`) in places where arrays are read as
annotation arguments.
Alternative solution would be to fix source passed to
`AnnotationDescriptorImpl` in the annotation-reading code, but that
seems a bit messy because the code is very abstract and is used in lots
of other places.
#KT-53279 Fixed
2022-10-07 10:48:51 +00:00
Vladimir Dolzhenko
bd085fbf43
Optimize isDefinitelyNotSamInterface
...
Do not generate intermediate garbage and no reason to iterate over
all non-SAM candidates when more than one found
#KTIJ-23032
2022-09-27 15:17:27 +00:00
Roman Golyshev
3ea78ae745
Revert some changes from 3042a80f
...
Too many places right now depend on `KotlinClassHeader.data` and
`KotlinClassHeader.strings` being saved even if empty,
and not being null
See KT-39492
2022-08-25 14:43:25 +00:00
Roman Golyshev
3042a80faf
KT-39492: Ignore default values from Kotlin Metadata in KotlinMetadataArgumentVisitor
...
^KT-39492 Fixed
^KTIJ-18094 Fixed
^KTIJ-17632 Fixed
Merge-request: KT-MR-6914
2022-08-24 12:30:33 +00:00
Aleksei.Cherepanov
df017ea187
Clean JavaClassesTracker and LookupTracker on call RetryWithAdditionalRoots
...
#KT-38576 Fixed
2022-08-16 14:38:01 +00:00
Abduqodiri Qurbonzoda
34e50649e8
Switch JVM target of the standard libraries to 1.8 #KT-51907
2022-08-13 01:33:45 +03:00
Mikhail Glukhikh
3a2d69225c
K1: add support for Enum.entries in Java scopes
2022-08-12 09:35:25 +00:00
Dmitriy Novozhilov
b32f9dcac2
[Lombok K1] Support @Singular annotation
...
^KT-46959
2022-08-11 15:22:35 +03:00
Dmitriy Novozhilov
6fde784b55
[FE 1.0] Allow generation of nested classes for java classes from plugins
2022-08-11 15:22:35 +03:00
Dmitry Gridin
4f18e7091b
[light classes] analysis-api-fir: migrate from :compiler:backend to :compiler:backend.common.jvm
...
^KT-53097
2022-08-01 13:56:35 +00: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
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
4293b546ba
[FE] Provide org.jetbrains.kotlin.load.java.components.TypeUsage as an alias of org.jetbrains.kotlin.types.TypeUsage for IDEA
2022-04-27 19:50:27 +00:00
Victor Petukhov
f31cf90de2
[FE 1.0] Unbind type parameter erasing from java
2022-04-27 19:50:22 +00: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
Ilya Chernikov
5d6e2b57a7
Sort sealed class inheritors to ensure reproducible builds with IC
...
without this sorting the inheritors field in the metadata may depend on
whether some inheritors are compiled in the IC round or not.
2022-03-30 08:35:30 +00:00
Evgeniy.Zhelenskiy
28bf83ceac
[IR] Unite inline class and multi-field value class representation
...
#KT-1179
2022-03-24 11:38:43 +00:00
Evgeniy.Zhelenskiy
282ab398c6
[IR] Generify lowerings
...
#KT-1179
2022-03-24 11:38:42 +00:00
Victor Petukhov
b5933c70e2
[FE 1.0] Refactor error utils: split error entities and introduce error type and error scope kinds
2022-03-23 21:13:33 +00:00
Ilmir Usmanov
8811f62300
Fix mapping of nullable generic underlying types of inline classes
...
#KT-32162 Fixed
2022-02-23 01:23:07 +03: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
Irene Dea
374d287d08
Reorganize TypeAttributeTranslatorExtension
2022-01-08 15:26:38 +03:00
Irene Dea
19bfc43bee
Fixes and refactors
2022-01-08 15:25:07 +03:00
Irene Dea
fad3c1f2f6
Add initial type attributes infra
2022-01-08 15:25:06 +03:00
Ilya Kirillov
78db89b46b
Extract AbstractBinaryClassAnnotationLoader to be used without FE1.0
2021-12-27 16:23:08 +03:00
Vyacheslav Gerasimov
bc2f0936bd
Build: Rename commonDep -> commonDependency
2021-12-16 21:48:19 +03:00
Victor Petukhov
24900630cb
Revert "Revert "[FE 1.0] Provide an API to clean compile time initializer cache for variable descriptor""
...
This reverts commit faeb5d21ab .
2021-12-14 14:21:46 +03:00
Nikolay Krasko
faeb5d21ab
Revert "[FE 1.0] Provide an API to clean compile time initializer cache for variable descriptor"
...
This reverts commit 0e6762acc3 .
2021-12-10 16:54:55 +03:00
Victor Petukhov
0e6762acc3
[FE 1.0] Provide an API to clean compile time initializer cache for variable descriptor
2021-12-09 16:15:24 +03:00
Leonid Startsev
767c570af4
Load default values for annotation members from classfiles
...
so that defaults are available to synthetic implementations.
#KT-48181 Fixed
Implementation is for JVM IR; other backends & FIR need to be supported
separately.
2021-12-07 10:10:04 +00:00
Anastasiya Shadrina
a39fbd3822
[FE] Add getContextReceivers to CallableDescriptor interface
2021-12-02 20:23:17 +03:00
Dmitriy Novozhilov
01c0cf80d0
[FIR] Support @kotlin.jvm.PurelyImplements annotation
2021-11-22 17:01:17 +03:00
Alexander Udalov
1b5e3f5d51
Deserialize repeated annotations inside implicit container
...
#KT-49651 Fixed
2021-11-18 15:33:34 +01:00
Dmitriy Novozhilov
93378b1a04
[FE 1.0] Resolve private constructors of sealed classes same as for regular classes
...
^KT-44866
^KT-49729
2021-11-18 13:54:05 +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
Yan Zhulanow
516dd825c2
[FIR IDE] Initial descriptor-based implementation of the Analysis API
2021-10-20 19:41:24 +03:00
Georgy Bronnikov
41e38d5a1a
JVM_IR: move serialized IR to a separate annotation
2021-10-02 00:56:46 +03:00
Victor Petukhov
0cb56be14f
Have "in type" for java fields to be able to check that type in assignment positions (against rhs' type)
...
^KT-46727 Fixed
2021-09-30 20:08:52 +03:00
Denis.Zharkov
4733a0d970
Refine naming: *TypeVariable -> *TypeParameter
2021-09-30 14:36:27 +03:00
Denis.Zharkov
9ac29e0714
Fix enhancement when mixing TYPE_USE and non-TYPE_USE annotations
2021-09-28 22:59:18 +03:00