Dmitriy Novozhilov
393f880322
[FIR] Report error about ambiguous anonymous type approximation in type arguments of implicit return type of function
...
^KT-33917
^KT-56491 Fixed
2023-02-09 20:44:15 +00:00
Dmitriy Novozhilov
3c42521ce7
[FE 1.0] Report warning on leaking anonymous object type from private inline lambda
...
^KT-33917
^KT-56490 Fixed
2023-02-09 20:44:15 +00:00
Dmitriy Novozhilov
4941fcd10e
[FIR] Report PRIVATE_CLASS_MEMBER_FROM_INLINE on qualifiers of companions
...
^KT-56172 Fixed
^KT-55179
2023-01-31 07:53:12 +00:00
Dmitriy Novozhilov
522eec8c51
[FIR] Fix reporting PRIVATE_CLASS_MEMBER_FROM_INLINE on members of companion
...
^KT-56172
^KT-55179
2023-01-31 07:53:12 +00:00
Dmitriy Novozhilov
a83caec94f
[FE 1.0] Implement deprecation PRIVATE_CLASS_MEMBER_FROM_INLINE_WARNING warning
...
^KT-55179
^KT-56171 Fixed
2023-01-31 07:53:11 +00:00
Evgeniy.Zhelenskiy
ac28c0a286
[IR] Allow inline modifier for functions returning MFVC without warning
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-12-20 21:26:56 +00:00
Dmitriy Novozhilov
01c6c7dc59
[FIR] Properly approximate return type of callable declarations
...
- approximate intersection types in all non-local declarations
- approximate local types in non-private non-local declarations
2022-11-22 15:46:20 +00:00
Yan Zhulanow
61ce9fe524
[FE] Fix source element duplication in object literal expressions
2022-11-11 11:28:35 +00:00
Mikhail Glukhikh
475e40b3e4
K1: report warning for inline virtual member in enum #KT-53148 Fixed
...
Related to KT-34372
2022-07-14 07:59:33 +00:00
Mikhail Glukhikh
d7ca7e17c9
FE 10: wrap ext. receiver inlining prohibition in the language feature
...
See KT-52502
2022-05-27 14:55:08 +00:00
pyos
fad35b95d4
FE: forbid extension calls on inline functional parameters
...
Extension receivers are currently implicitly noinline, and changing that
would require modifying the syntax to allow marking them noinline or
crossinline.
^KT-5837 Open
^KT-25787 Fixed
^KT-47965 Fixed
^KT-50107 Fixed
^KT-52403 Fixed
2022-05-27 14:55:07 +00:00
Ivan Kylchik
51ccc32a3f
Update test data after introducing IntrinsicConstEvaluation annotation
2022-05-18 21:19:57 +03:00
Vladimir Dolzhenko
918a91dbdf
Escape special names with backticks in test data
...
#KT-51248
2022-02-10 21:20:47 +00:00
Ivan Kylchik
6fc56477bf
Drop all tests that disable features for language version less than 3
2021-12-28 20:08:56 +03:00
Mikhail Glukhikh
0739925869
Drop QUALIFIED_SUPERTYPE_EXTENDED_BY_OTHER_SUPERTYPE diagnostic in 1.7.0
...
#KT-49016 Fixed
2021-12-23 17:45:49 +03:00
Mikhail Glukhikh
2f1d415e4d
FE: report DECLARATION_CANT_BE_INLINED at 'inline' modifier
...
#KT-44022 Fixed
2021-11-28 11:31:51 +03:00
Ivan Kylchik
c7435ba760
Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
...
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00
Ivan Kochurkin
744191099c
[FIR] Fix false positive "return required" for if/else with inlined return in branch
...
^KT-49289 Fixed
2021-10-28 20:02:25 +03:00
Dmitriy Novozhilov
f26059a7d3
[FE] Add clear warning about future changes about nullability of safe call with non nullable receiver
...
^KT-46860
2021-10-27 16:28:37 +03:00
Mikhail Glukhikh
b0ec3cb831
Switch off FIR version off REDUNDANT_LABEL_WARNING (performance-related)
...
This reverts commit 363b2550 (partially)
2021-10-27 12:26:59 +03:00
Tianyu Geng
363b25504d
FIR checker: report REDUNDANT_LABEL_WARNING
...
Since many labels are not present in the FIR tree, this checker is
implemented as a syntax checker. Comparing with FE1.0, this change
reports some REDUNDANT_LABEL_WARNING that FE1.0 has missed, especially
LHS of assignments.
2021-10-25 13:51:01 +03:00
Victor Petukhov
561ef5947a
Introduce error for PROTECTED_CONSTRUCTOR_CALL_FROM_PUBLIC_INLINE
...
^KT-42972 Fixed
2021-09-30 20:08:37 +03:00
Victor Petukhov
01e853fb9b
Introduce error for SUPER_CALL_FROM_PUBLIC_INLINE
...
^KT-45378 Fixed
2021-09-30 20:08:36 +03:00
Mark Punzalan
42abc4a3af
FIR: Don't use AnnotationUseSiteTarget.PROPERTY_GETTER when computing
...
deprecation from a callable reference use site.
Also fixed positioning of DEPRECATION(_ERROR) diagnostics on variable
assignments.
2021-09-29 19:39:17 +03:00
Tianyu Geng
76e192fc8a
FIR Checker: check AMBIGUOUS_ANONYMOUS_TYPE_INFERRED
...
Also change
org.jetbrains.kotlin.fir.types.TypeUtilsKt#hideLocalTypeIfNeeded to skip
approximating anonymous objects if there are multiple super type refs so
that resolution behaves the same (for uncompilable code).
Note that this change does not implement check for
ApproximateAnonymousReturnTypesInPrivateInlineFunctions as the check is
already turned on in 1.5 and will likely not needed when FIR becomes
stable.
2021-09-16 22:38:06 +03:00
Andrey Zinovyev
1cd321a90f
[FIR] Add INAPPLICABLE_OPERATOR_MODIFIER diagnostic
2021-08-18 16:03:01 +03:00
Andrey Zinovyev
dabc983f6a
[FIR] Add INVALID_DEFAULT_FUNCTIONAL_PARAMETER_FOR_INLINE diagnostic
2021-08-04 17:33:13 +03:00
Andrey Zinovyev
46d1b63f70
[FIR] Add INLINE_PROPERTY_WITH_BACKING_FIELD diagnostic
2021-08-04 17:33:11 +03:00
Andrey Zinovyev
38cecf8b12
[FIR] Add REIFIED_TYPE_PARAMETER_IN_OVERRIDE diagnostic
2021-08-04 17:33:10 +03:00
Andrey Zinovyev
29dbaa4ae1
[FIR] Add OVERRIDE_BY_INLINE diagnostic
2021-08-04 17:33:10 +03:00
Andrey Zinovyev
d8b7b7b2dc
[FIR] Add DECLARATION_CANT_BE_INLINED diagnostic
2021-08-04 17:33:09 +03:00
Andrey Zinovyev
4e06814bc5
[FIR] Add NULLABLE_INLINE_PARAMETER diagnostic
2021-08-04 17:33:08 +03:00
Andrey Zinovyev
015c2d1875
[FIR] Add NOTHING_TO_INLINE diagnostic
2021-08-04 17:33:08 +03:00
Andrey Zinovyev
28344c8530
[FIR] Add NOT_YET_SUPPORTED_IN_INLINE diagnostic
2021-08-04 17:33:07 +03:00
Dmitriy Novozhilov
d17f984edf
[FE 1.0] Migrate most of warning/error pairs to DiagnosticFactoryForDeprecation
2021-08-03 00:17:33 +03:00
Dmitriy Novozhilov
0ab4770f02
[FIR] Add correctly reported diagnostics to testdata
2021-07-02 15:55:05 +03:00
Denis.Zharkov
ddbdfafa79
Remove OI/NI attributes from test data
2021-05-25 13:28:27 +03:00
Denis.Zharkov
2ecba6ac39
Remove WITH_NEW_INFERENCE directive from all tests
...
This directive anyway does not make test run twice with OI, and with NI
It only once run the test with specific settings (// LANGUAGE)
and ignores irrelevant (OI or NI tags)
2021-05-25 13:28:26 +03:00
Andrey Zinovyev
b1c8669b43
[FIR] Resolve infix calls to infix functions only
...
Implements INFIX_MODIFIER_REQUIRED diagnostics
2021-05-20 13:46:27 +03:00
Mikhail Glukhikh
3663884db2
FIR: support CONDITION_TYPE_MISMATCH diagnostic
...
We report CONDITION_TYPE_MISMATCH on
- loop conditions
- when branch conditions
- binary logic arguments
2021-05-20 12:22:20 +03:00
Jinseong Jeon
e2dc21da90
FIR checker: warn useless as and is
2021-05-05 18:20:51 +03:00
Dmitriy Novozhilov
07b15f9de6
[FIR] Support effective visibility with @PublishedApi
...
#KT-46270 Fixed
2021-04-27 18:39:10 +03:00
Dmitriy Novozhilov
32c3f85679
[FIR] Add inline checker for bodies of inline functions
...
This checker doesn't support `@PublishedAPI` yet, so some BB tests for it
were muted. #KT-46270
2021-04-27 18:39:09 +03:00
Dmitriy Novozhilov
3cb17ac2f0
[FIR] Implement FirReturnAllowedChecker
...
Supported diagnostics:
- RETURN_NOT_ALLOWED
- RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY
2021-04-06 12:30:41 +03:00
Dmitriy Novozhilov
cd890d5833
[Test] Disable UNUSED_* diagnostics in tests which are not belong to contolFlowAnalysis suite
2021-03-29 16:12:29 +03:00
Tianyu Geng
fb14b03824
FIR checker: skip error named reference if receiver is unresolved
...
Currently, FIR reports errors caused by previous resolution failure. For
example with unresolved `a` and `b` in code `a.b`, both `a` and `b` are
highlighted. FE1.0 only highlights `a` since it's the root cause. This
change applies this heuristics when reporting FirDiagnostics.
2021-03-29 12:45:27 +03:00
Mikhael Bogdanov
8ff0b1e243
Reports warning on super calls in public-api inline functions
2021-03-05 18:45:07 +00:00
Tianyu Geng
724ca1d3ee
FIR: introduce diagnostic NESTED_CLASS_NOT_ALLOWED
2021-03-01 16:57:54 +03:00
Mikhail Glukhikh
357a7907a3
FIR: fix type approximation by visibility
2021-02-19 10:39:57 +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