Alexander Udalov
e790fa8ac9
Remove dependency of serialization on frontend
...
Move ApplicationExtensionDescriptor and ProjectExtensionDescriptor to
:compiler:util.
2021-06-01 20:28:22 +02:00
Mikhael Bogdanov
a8186d19d6
Support annotations on class type parameters
...
#KT-43714
2021-06-01 06:33:50 +02:00
Victor Petukhov
0f317b01b4
Rename language feature StableBuilderInference to UnrestrictedBuilderInference
2021-05-28 15:36:19 +03:00
Victor Petukhov
6356b9d501
Put removing builder inference restrictions under the compiler flag
2021-05-28 15:36:17 +03:00
Alexander Udalov
c898805ac5
CLI: improve path relativization for compiler messages
...
On Windows, the absolute file for the root of the drive is `"C:\"`,
which differs from the absolute file for any other directory, which
doesn't end with `\`. This resulted in incorrect trimming of the first
character of the path name in `descendantRelativeTo`.
Also, do not use canonicalPath because there is no point in expanding
symbolic links here.
#KT-40979 Fixed
2021-05-11 18:44:14 +03:00
Tianyu Geng
7bb81ef157
FIR: add equality call checker
...
Added checker for FirEqualityOperatorCall. It's surfaced as one of the
following diagnostics depending on the PSI structure and types under
comparison:
* INCOMPATIBLE_TYPES(_WARNING)
* EQUALITY_NOT_APPLICABLE(_WARNING)
* INCOMPATIBLE_ENUM_COMPARISON_ERROR
Comparing with FE1.0, the current implementation is more conservative
and only highlights error if the types are known to follow certain
contracts with `equals` method. Otherwise, the checker reports warnings
instead.
However, the current checker is more strict in the following situations:
1. it now rejects incompatible enum types like `Enum<E1>` and
`Enum<E2>`, which was previously accepted
2. it now rejects incompatible class types like `Class<String>` and
`Class<Int>`, which was previously accepted
3. the check now takes smart cast into consideration, so
`if (x is String) x == 3` is now rejected
2021-05-06 17:50:32 +03:00
Victor Petukhov
7c62e9aecd
Introduce warnings reporting by missed constraints because of incorrect optimization in the constraints processor
2021-04-30 15:46:04 +03:00
Andrey Zinovyev
b58bea6fa1
[lombok] IDE plugin with maven import handler
2021-04-29 23:14:14 +03:00
Mikhail Glukhikh
cc05d91bda
FE 1.0: add deprecation ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED_WARNING
...
#KT-45508 Fixed
2021-04-29 15:24:49 +03:00
Ilmir Usmanov
dc2485ae71
Support suspend functions as superinterfaces
...
Forbid mixing suspend and non-suspend functional supertypes.
Since JVM BE generates suspend functional types as non-suspend ones
with SuspendFunction marker interface, there is not way to distinguish
non-suspend functional type from suspend one if they are mixed.
#KT-18707 Fixed
2021-04-26 22:14:32 +02:00
Alexander Udalov
0a446230f7
Reorder LanguageFeature entries according to sinceVersion
2021-04-15 21:41:17 +02:00
Dmitriy Novozhilov
0b2943d34c
Prohibit using annotations without TYPE target in several type positions
...
#KT-8325 Fixed
#KT-19455 Fixed
#KT-25876 Fixed
#KT-28449 Fixed
2021-04-14 18:30:54 +03:00
Dmitriy Novozhilov
6afb905ad6
Add deprecation warning about new integer operators on literals resolution
...
#KT-38895
2021-04-14 18:30:51 +03:00
Dmitriy Novozhilov
53b6d6f767
Prohibit references to members of containing class in super constructor of nested object
...
#KT-25289 In Progress
2021-04-14 18:30:49 +03:00
Denis.Zharkov
59372fd15f
Enable ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated since 1.6
...
^KT-36770 Fixed
2021-04-09 13:06:34 +03:00
Denis.Zharkov
b9d2a1842a
Support definitely-not-null generic T!! types in Parsing and FE1.0
...
^KT-26245 In Progress
2021-04-09 13:06:28 +03:00
Mikhail Glukhikh
fcbab45a88
FE 1.0: introduce DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER error
...
#KT-24643 Fixed
2021-04-09 07:56:35 +03:00
Mikhail Glukhikh
3c9f0e4775
Add PrivateInFileEffectiveVisibility language feature (1.6)
2021-04-08 09:41:26 +03:00
Abduqodiri Qurbonzoda
40d1849f33
Migrate compiler, idea and others to new case conversion api
2021-04-08 03:22:02 +03:00
Him188
f90cbb0ce7
Support properties from primary constructor in JvmFieldApplicabilityChecker
...
#KT-32753 In progress
2021-04-06 11:40:44 +03:00
Vyacheslav Gerasimov
f2a892a972
Cleanup 201 and as41 bunch files
2021-03-30 14:23:43 +03:00
Victor Petukhov
cc1cb463b2
Remove NonStrictOnlyInputTypesChecks LF and introduce opposite – StrictOnlyInputTypesChecks, set default as strict
2021-03-29 16:17:30 +03:00
Victor Petukhov
731e3ebae1
Rename LV ImprovementsAroundTypeEnhancement into TypeEnhancementImprovementsInStrictMode
2021-03-26 11:03:49 +03:00
Ilya Chernikov
e0297cf207
[minor] implement automatic stdlib-jdkX jars handling in KotlinPaths
...
fixes some local testing scenarios
2021-03-24 21:24:17 +01:00
Ilmir Usmanov
9c97f1ce35
Allow Result return type and nullability operators on Result type
...
by default
2021-03-22 14:56:16 +00:00
Georgy Bronnikov
56a26113cd
IR: threadLocal
...
To be used for per-file state in global structures during parallel
lowering.
2021-02-17 11:05:20 +03:00
Dmitry Petrov
7564c9bb8c
JVM SamWrapperClassesAreSynthetic language feature
...
KT-44278 KT-26060 KT-42621
2021-02-12 16:52:31 +03:00
Dmitriy Novozhilov
a0007bf244
Add analysisFlags of LanguageVersionSettings to toString() method
2021-02-10 13:02:04 +03:00
Pavel Kirpichenkov
75954dd1a4
Minor: refactor extended compiler checks
...
Use an analysis flag instead of a stub language feature
2021-02-08 18:47:30 +03:00
Pavel Kirpichenkov
2a46da906c
Provide additional information about missing supertypes
...
Add -X flag to report extra compiler diagnostics which migth break compatibility.
Use the flag to unconditionally check constructors without fear of
prematurely evaluating lazy supertypes.
KT-19234
KT-42404
KT-44583
2021-02-08 18:47:30 +03:00
Victor Petukhov
ba44ad1aa3
Approximate anonymous return types for private inline functions to explicit supertype or Any (KT-33917)
2021-01-28 13:19:32 +03:00
Dmitriy Novozhilov
facc52fe49
Introduce ApiVersion.KOTLIN_1_5
2021-01-28 13:19:25 +03:00
Dmitriy Novozhilov
d7cfd9c188
Switch latest stable version to 1.5
2021-01-28 13:19:24 +03:00
Ilmir Usmanov
d1ee45b518
Add language feature for suspend functions in fun interfaces
...
Since in 1.5 JVM_IR is enabled by default and supports suspend functions
in fun interfaces, it is safe to enable the feature by default as well.
2021-01-19 16:03:31 +01:00
Alexander Udalov
b3d85e656e
Fix warnings after update to 202 platform
...
#KT-44069 Fixed
2021-01-13 19:17:22 +01:00
Alexander Udalov
ee7691f1ad
Fix IntArrayList deprecation warning in JvmDependenciesIndexImpl
...
Copy relevant parts of deprecated IntelliJ's IntArrayList to a new util
class. Also fix some minor IDE inspections.
2021-01-13 19:17:21 +01:00
Alexander Udalov
8ae19f5cd7
Fix deprecated Interner/StringInterner usages after update to 202
2021-01-13 19:17:21 +01:00
Iaroslav Postovalov
77180a5b13
[JVM IR] Make file classes with all private members package-private
2021-01-12 12:47:59 +01:00
Mikhail Zarechenskiy
032c64669c
Show pre-released 1.5 version in configuration preferences
...
^KT-44116 Fixed
2021-01-12 14:15:30 +03:00
Alexander Udalov
cb3191769d
Enable JVM IR by default if language version is >= 1.5
...
#KT-44021 Fixed
2021-01-11 12:47:54 +01:00
Ilmir Usmanov
f922ebbfc3
Value classes: Add JvmInlineValueClasses language feature
2020-12-18 17:53:58 +01:00
Victor Petukhov
6f8f531d87
Put type enhancement improvements under the compiler flag
2020-12-18 19:32:05 +03:00
Denis.Zharkov
7e088457a2
Temporary clear sinceVersion for ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
...
^KT-36770 Related
^KT-26245 Related
2020-12-10 10:20:30 +03:00
Dmitriy Novozhilov
b6bd7c48f4
[FE] Rename FreedomForSealedClasses feature with more meaningful name
2020-12-09 22:54:38 +03:00
Dmitriy Novozhilov
9609954560
[FE] Allow using sealed modifier on interface and compute sealed modality for them
...
#KT-20423
2020-12-09 22:54:26 +03:00
Dmitriy Novozhilov
f5f1984a60
[FE] Allow declare sealed class inheritors in different files in one module
...
#KT-13495
2020-12-09 22:54:21 +03:00
Denis.Zharkov
4f5db241ea
Add @JvmRecord annotation and relevant diagnostics
...
^KT-43677 In Progress
2020-12-09 16:29:03 +03:00
Yan Zhulanow
e83a3c3f27
Parcelize: Use @Parcelize annotations from Android Extensions instead of the copied&deprecated ones (KT-42342, KT-43150)
...
Dex can't merge class files from both android-extensions-runtime and parcelize-runtime, so we have to keep only one copy of each class.
Instead of @Deprecated annotations, there are new diagnostics (without quick-fixes yet).
The goal is to allow simple usages (@Parcelize alone) but forbid kotlinx.android.synthetic.Parceler usage.
2020-11-11 04:25:07 +09:00
Alexander Udalov
8be23df668
Remove unneeded dependency of util on deserialization & reflect
...
This is probably a result of a somewhat incorrectly merged
6c37574fce .
2020-10-29 17:03:11 +01:00
Denis Zharkov
90a9ca6cb3
Minor. Rename flag in JvmAnalysisFlags: jsr305 -> javaTypeEnhancementState
2020-10-08 14:00:08 +03:00