Ivan Kochurkin
a816bd9a33
[FIR] Add JVM_INLINE_WITHOUT_VALUE_CLASS, VALUE_CLASS_WITHOUT_JVM_INLINE_ANNOTATION
2021-09-13 20:49:00 +03:00
Ivan Kochurkin
7e7066d75e
[FIR] Add FUNCTION_DELEGATE_MEMBER_NAME_CLASH
2021-09-13 20:48:59 +03:00
Ivan Kochurkin
a5caa14255
[FIR] Add SPREAD_ON_SIGNATURE_POLYMORPHIC_CALL
2021-09-13 20:48:59 +03:00
Ivan Kochurkin
dd46c36b24
[FIR] Add SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC
2021-09-13 20:48:54 +03:00
Ivan Kochurkin
07edb15138
[FIR] Expand typealias for correct approximation of types (particularly Int and Long)
2021-09-13 14:28:26 +00:00
Dmitriy Novozhilov
7a7672b0de
[FE 1.0] Fix reporting of non exhaustive when statement for whens with subject
...
^KT-48653 Fixed
2021-09-12 16:04:18 +03:00
Nikolay Lunyak
f6ae6af741
[FIR] Add test data
2021-09-11 22:05:43 +03:00
Mikhail Glukhikh
fc6403679a
Rename !USE_EXPERIMENTAL test directive to !OPT_IN
2021-09-10 16:29:16 +03:00
Mikhail Glukhikh
3febabe977
Use OPT_IN instead of EXPERIMENTAL in diagnostic names
2021-09-10 16:29:13 +03:00
Tianyu Geng
05fbed68e2
FIR checker: report PROPERTY_AS_OPERATOR
2021-09-10 07:07:43 +03:00
Tianyu Geng
4915d8dda3
FIR checker: support DUPLICATE_LABEL_IN_WHEN
...
Changes from FE1.0:
1. As discussed previously, no expression evaluation happens during this
check.
2. FE1.0 doesn't check redundant object comparisons.
2021-09-10 07:07:42 +03:00
Ivan Kochurkin
55f33999f1
[FIR] Add REPEATED_ANNOTATION, REPEATED_ANNOTATION_WARNING
2021-09-10 00:49:07 +03:00
Ivan Kochurkin
fa12e72551
[FIR] Add REPEATABLE_CONTAINER_* diagnostics
...
REPEATABLE_CONTAINER_MUST_HAVE_VALUE_ARRAY
REPEATABLE_CONTAINER_HAS_NON_DEFAULT_PARAMETER
REPEATABLE_CONTAINER_HAS_SHORTER_RETENTION
REPEATABLE_CONTAINER_TARGET_SET_NOT_A_SUBSET
REPEATABLE_ANNOTATION_HAS_NESTED_CLASS_NAMED_CONTAINER
2021-09-10 00:49:07 +03:00
Ivan Kochurkin
6fa1c0353c
Use deprecation type for some REPEATABLE_* diagnostics
2021-09-10 00:49:06 +03:00
Ivan Kochurkin
f414a91c66
[FIR] Implement FirInterfaceDefaultMethodCallChecker
...
Add diagnostics: INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET,
INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER,
DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET
2021-09-10 00:49:04 +03:00
Ivan Kochurkin
97bc079634
[FIR] Add REPEATED_ANNOTATION_WITH_CONTAINER, NON_SOURCE_REPEATED_ANNOTATION
...
REPEATED_ANNOTATION_TARGET6
2021-09-10 00:49:03 +03:00
Ivan Kochurkin
d4746903c8
[FIR] Rename getOuterClass to getContainingDeclaration, fix if for local classes
...
Simplify checking of WRONG_NUMBER_OF_TYPE_ARGUMENTS
2021-09-10 00:49:01 +03:00
Ivan Kochurkin
816e8f487c
[FIR] Add JVM diagnostics about external declaration
2021-09-10 00:49:00 +03:00
Dmitriy Novozhilov
661d89c67f
[FIR] Fix diagnostic message rendering for OVERRIDE_DEPRECATION
2021-09-07 14:11:46 +03:00
Dmitriy Novozhilov
9f4abd8ff7
[FE 1.0] Fix diagnostic message rendering for OVERRIDE_DEPRECATION
2021-09-07 14:11:45 +03:00
pyos
03304bce96
FIR: enhance Java type parameter bounds
...
This also fixes handling of self-recursive types.
TODO: fix jspecify/{strict,warn}Mode/Captured.fir.kt
2021-09-06 13:11:08 +03:00
pyos
e385484994
FIR: when translating raw types, reuse computed upper bounds
...
Also, don't bother ensuring that the upper bound has the same tree size
as the lower bound; the new index computation can handle it when some
subtrees of the lower bound are replaced by star projections in the
upper bound.
2021-09-06 13:11:06 +03:00
pyos
5355d04553
FIR: enhance in/out-variant type arguments
2021-09-06 13:11:03 +03:00
pyos
8e122397b0
FIR: fix type index computation during enhancement
...
1. in/out type parameters count;
2. star projections take up 1 space in the tree.
2021-09-06 13:11:02 +03:00
pyos
5fec9f34b1
FIR: revert a hack that allows overriding T!! with T
...
1. this should've been only done if the language feature for validating
that is disabled;
2. that feature probably won't matter by the time FIR is stable;
3. it only worked because type enhancement of type arguments is broken
anyway - a more correct hack would be to provide a custom
ConeTypePreparator.
2021-09-06 13:11:01 +03:00
Dmitriy Novozhilov
88913aa2a3
[FIR] Report warning on non-deprecated overrides of deprecated members
...
^KT-47902
2021-09-02 15:04:07 +03:00
Dmitriy Novozhilov
ef9ad5af51
[FE 1.0] Report warning on non-deprecated overrides of deprecated members
...
Also don't propagate deprecation status to overrides after 1.7
^KT-47902 Fixed
2021-09-02 15:04:07 +03:00
Dmitriy Novozhilov
8117cd4c24
Postpone ApproximateIntegerLiteralTypesInReceiverPosition feature till 1.7
...
^KT-38895
2021-09-02 13:34:29 +03:00
Dmitriy Novozhilov
1e0878cde0
[FE 1.0] Postpone SafeCallsAreAlwaysNullable till 1.7
...
^KT-46860 Fixed
2021-09-02 13:34:27 +03:00
Mikhail Glukhikh
c175039afb
Add test for JVM_RECORD_NOT_LAST_VARARG_PARAMETER
2021-08-31 18:28:59 +03:00
Mikhail Glukhikh
881b15a677
FIR: use typeWithStarProjections for protected visibility check
2021-08-31 17:32:02 +03:00
Mikhail Glukhikh
08e498f1f2
FIR: add proper receiver check for protected visibility #KT-48378 Fixed
2021-08-31 17:31:57 +03:00
Denis.Zharkov
4a9d4ed9fe
Enable ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated since 1.7
...
^KT-36770 Fixed
2021-08-31 15:41:17 +03:00
Denis.Zharkov
d91155558b
Rename LF: DefinitelyNotNullTypeParameters -> DefinitelyNonNullableTypes
2021-08-31 15:41:17 +03:00
Denis.Zharkov
0e7d51b04d
Prohibit using definitely-non-nullable types as arguments for reified parameters
...
^KT-26245 In Progress
2021-08-31 15:41:16 +03:00
Denis.Zharkov
62bef48f9d
Adjust test data to changed rendering: T!! -> T & Any
...
^KT-26245 In Progress
2021-08-31 15:41:15 +03:00
Denis.Zharkov
9e6af52e1f
Enable DefinitelyNotNullTypeParameters since 1.7
...
^KT-26245 In Progress
2021-08-31 15:41:13 +03:00
Denis.Zharkov
c1b5d5551f
Drop support for T!! syntactic structure
...
^KT-26245 In Progress
2021-08-31 15:41:13 +03:00
Denis.Zharkov
302eacbf59
Support new form of definitely non-nullable types: T & Any
...
^KT-26245 In Progress
2021-08-31 15:41:11 +03:00
Mark Punzalan
34e6459014
FIR: Ensure that the array set argument (on RHS of =) is always mapped
...
to the last parameter of the set operator function, even if there are
missing or too many index arguments.
2021-08-31 14:52:28 +03:00
Denis.Zharkov
112af9b145
FIR: Rework bare types support
...
^KT-48305 Fixed
2021-08-30 16:24:44 +03:00
Mark Punzalan
580f1d51f6
FIR checker: report LOCAL_VARIABLE_WITH_TYPE_PARAMETERS
2021-08-26 12:25:07 +03:00
Tianyu Geng
a18daa5d62
FIR checker: report type parameters on anonymous objects
2021-08-26 12:25:06 +03:00
Tianyu Geng
4d9102f749
FIR checker: fix position strategy of TYPE_PARAMETERS_IN_OBJECT
2021-08-26 12:25:03 +03:00
Dmitriy Novozhilov
0924216ed2
[FIR] Distinguish stub types for builder inference and for subtyping
...
^KT-48110 Fixed
2021-08-26 10:08:52 +03:00
Ivan Kochurkin
84c5f58cab
[FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER
2021-08-25 21:53:23 +00:00
Ivan Kochurkin
34cc7e5199
[FIR] Fix resolving to star import member instead of builtin (^KT-48157 Fixed)
2021-08-25 21:53:23 +00:00
Ivan Kochurkin
bb27ae2b42
[FIR] Fix incorrect resolve of callable reference in function signature (^KT-48304 Fixed)
2021-08-25 21:53:23 +00:00
Tianyu Geng
10d4dfef04
FIR: check subclass of sealed class
2021-08-25 14:37:24 +03:00
Mikhail Glukhikh
12726bde15
Deprecate smart cast on alien derived property #KT-48101 Fixed
2021-08-24 12:32:30 +03:00