bracadabra
b2372ff0b9
Fix UTFDataFormatException on encoding long subplugin options.
...
ObjectOutputStream.writeUTF(String) has an unsigned short limit on
String length. On Projects with deep nested modules subplugin
options could produce String over this limit.
^KT-45202 Fixed
2021-07-02 16:17:54 +02:00
Alexander Udalov
6e975b3498
Support flexible types internally in typeOf
...
#KT-45066 Fixed
2021-07-01 19:33:55 +02:00
Dmitriy Novozhilov
05883afc0a
Deprecate simplification of complex boolean constant expressions in whens and loops
...
^KT-39883 In Progress
2021-06-25 16:37:35 +03:00
Dmitriy Novozhilov
26b9948e5f
[FE 1.0] Make type of safe call always nullable
...
^KT-46860 In Progress
2021-06-25 16:37:30 +03:00
Ilya Goncharov
83c1a119ee
[JS, Frontend] Add option to allow extension lambdas in externals
2021-06-18 17:20:56 +03:00
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