Evgeniy.Zhelenskiy
b6f2513dd2
[FIR] Introduce valueClassRepresentation to FIR
...
#KT-1179
2022-03-24 11:38:44 +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
Victor Petukhov
3aabc8d666
[FE 1.0] Substitute anonymous object's supertypes while using that in public declarations
...
^KT-46136 Fixed
2022-03-23 21:13:32 +00:00
Alexander Udalov
8b56babb1d
Fix type mapping of nullable inline class types in reflection
...
Based on #4761 .
#KT-31141 Fixed
Co-authored-by: wrongwrong <boranti1995@gmail.com >
2022-03-18 12:29:05 +01:00
wrongwrong
a1b6c9f546
Fixed a bug where DEFAULT_CONSTRUCTOR_MARKER appeared twice as an argument
...
#KT-27598 Fixed
Co-authored-by: Alexander Udalov <alexander.udalov@jetbrains.com >
2022-03-17 00:54:09 +01:00
Mikhail Glukhikh
5810ac01d2
FE1.0/FIR: slightly fix diagnostic messages about OptIn
2022-03-15 13:08:19 +00:00
Dmitriy Novozhilov
6f64aedaf0
[FIR] Fix FindReferencePositioningStrategy for light tree
...
There was a problem which causes to lookup for assign token inside
functions from arguments of call
2022-03-11 15:36:05 +03:00
Mikhail Glukhikh
779aa75855
Make FE1.0/FIR OptIn override message more clear
2022-03-10 09:09:51 +00:00
Mikhail Glukhikh
d823020c07
Make FIR/FE1.0 report similar OptIn messages
2022-03-10 09:09:50 +00:00
Ivan Kochurkin
e010f59560
Move JSPECIFY_ANNOTATIONS_PACKAGE to 1.8
2022-02-25 11:46:28 +00:00
Mikhail Glukhikh
53d6ac24e5
Switch kotlin version to 1.7
...
* Change 1.6 to 1.7 constants
* Fix SAFE_CALL_WILL_CHANGE_NULLABILITY for testData
* Change EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_WARNING to EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR
* Change NON_EXHAUSTIVE_WHEN_STATEMENT to NO_ELSE_IN_WHEN
* Fix testData for SafeCallsAreAlwaysNullable
* Change T -> T & Any in test dumps
* Change INVALID_CHARACTERS_NATIVE_WARNING -> INVALID_CHARACTERS_NATIVE_ERROR
* TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_WARNING -> TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
2022-02-25 11:46:27 +00:00
Jinseong Jeon
476e65f934
Utilize MemberScope.findFirstFunction with name and predicate
2022-02-24 17:51:49 +01: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
ccb74b6477
[FIR] Fix computing compatibility of expect and actual modality
2022-02-18 17:44:39 +03:00
Nikolay Krasko
faf0cbea5d
Revert "Revert "Support common metadata in kotlinx-metadata""
...
This reverts commit 03cb9942e6 .
2022-02-17 22:41:57 +03:00
Nikolay Krasko
03cb9942e6
Revert "Support common metadata in kotlinx-metadata"
...
This reverts commit f9cc443e4f .
2022-02-16 22:31:26 +03:00
Alexander Udalov
f9cc443e4f
Support common metadata in kotlinx-metadata
...
KotlinCommonMetadata can be used to inspect .kotlin_builtins and
.kotlin_metadata files. It's in an internal package for now, but might
be published once the API is finalized.
2022-02-16 17:38:30 +01: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
Vladimir Dolzhenko
4de9de5fc5
Escape special Name used as parameter, custom function names etc
...
#EA-209929
#KT-51248 Fixed
2022-02-10 21:20:47 +00:00
Dmitriy Novozhilov
0eb526a8b4
[FE 1.0] Report warning about conflict in inherited members from deserialized dependencies
...
^KT-51194
^KT-51223 Fixed
2022-02-09 19:35:56 +03:00
Ivan Kochurkin
17c64cf955
[FIR] Add INV to UNARY_OPERATION_NAMES, ^KT-50998 Fixed
2022-02-07 17:22:02 +03:00
Dmitriy Novozhilov
52b72a7dac
[FIR] Implement Int -> Long conversions for literals and operators over them
...
^KT-38895
^KT-50996 Fixed
^KT-51000 Fixed
^KT-51003 Fixed
^KT-51018 Fixed
2022-02-07 13:36:36 +03:00
Steven Schäfer
78d80181e2
inlineClassUtils: Fix handling of inline classes without constructors
...
Fixes KT-50992
DeclarationDescriptor.isInlineClass misidentifies inline classes without
constructors. This can happen for the ABI of inline classes with private
constructors.
2022-02-04 23:30:24 +01:00
Pavel Kirpichenkov
4eb2c2f6f1
Minor: reformat
2022-02-04 16:57:22 +03:00
Pavel Kirpichenkov
0362d4ac9f
[MPP] workaround inc/dec operator checks in expect classes
...
Implicit receiver type inside expect class is inconsistent with the
type resolved from an explicit reference inside that class. The former
one is a default class type, i.e. expect; the latter one resolves to
an actual type when either expect and actual are in the same module, or
when the sources are compiled for a particular platform.
The workaround is to manually actualize implicit receiver type for one
particular check affected by the broken subtyping.
KT-49714
2022-02-04 16:57:22 +03:00
Mikhail Glukhikh
c255da815f
Change some names in source code from useExperimental to optIn
2022-01-27 11:48:21 +00:00
Ivan Kochurkin
defb0cf611
[FIR] Fix ambiguity between Sequence.forEach and Iterable.forEach (with @HidesMembers) ^KT-50776 Fixed
2022-01-21 19:34:10 +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
Mikhail Glukhikh
d0fa3eb1d3
Forbid ExtensionFunctionType on functional types without parameters
...
#KT-43527 Fixed
2022-01-14 22:20:24 +03:00
Evgeniy.Zhelenskiy
e97ca2ada4
[Psi2Ir, Fir2Ir] Generate toString, hashCode, equals methods for MF VC
2022-01-14 13:51:57 +00:00
Evgeniy.Zhelenskiy
c7edc353d3
[FIX, Frontend] Fix recursive check for multi-field value classes
2022-01-14 13:51:57 +00:00
Evgeniy.Zhelenskiy
e69a973b07
[Frontend, Ir] Equality test passes
2022-01-14 13:51:57 +00:00
Dmitriy Novozhilov
e9ac24dc33
[FE 1.0] Report errors on cycles in annotation parameter types
...
^KT-47932
^KT-50753 Fixed
2022-01-14 14:26:52 +03:00
Stanislav Erokhin
1326ca674e
Introduced IDEAPluginsCompatibilityAPI and returned some API
...
Please read the description of IDEAPluginsCompatibilityAPI.
Also, you may notice, that Deprecation annotation was removed.
That is because with level ERROR it isn't possible to opt-in
to such API in the legit cases. And with level WARNING it won't be
reported because We have diagnostic with level ERROR about OptIn marker.
Sadly, there is no way to add ReplaceWith to the OptIn marker
2022-01-13 18:03:07 +01:00
Denis.Zharkov
a33d9df0cd
NI: Support forking inference with heuristics
...
Mostly, it only affects FIR
It partially allows to consider several variance of constraints like
A<Int> & A<T> <: A<X_var> that are mostly brought by smart casts
^KT-49542 Fixed
^KT-50489 Relates
2022-01-11 20:45:55 +03:00
Victor Petukhov
455b3143e7
[FE 1.0] Introduce builder inference stub types checker which may report more precise and clear errors due to resolution ambiguity
...
^KT-49828 Fixed
2022-01-11 18:34:47 +03:00
Victor Petukhov
8e2b90b5db
[FE 1.0] Don't report CAST_NEVER_SUCCEEDS on stub types
...
^KT-49829 Fixed
2022-01-11 18:34:41 +03:00
Irene Dea
76b7cb3193
Fix hasCustomAttributes
2022-01-08 15:26:44 +03:00
Irene Dea
13bff10567
Fix union related failures.
2022-01-08 15:26:44 +03:00
Irene Dea
a98e2c4e03
Fix failed tests
2022-01-08 15:26:44 +03:00
Irene Dea
3c4989b672
Address JDK8/JDK6 issues with computeIfAbsent
2022-01-08 15:26:44 +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
2e2e70fede
Translate attributes in TypeDeserializer
2022-01-08 15:25:07 +03:00
Irene Dea
d444978ebf
Add support for attribute serialization.
2022-01-08 15:25:07 +03:00
Irene Dea
f2a351367c
Implement unionTypeAttributes and replaceTypeAttributes in ConeInferenceContext
2022-01-08 15:25:07 +03:00