Vladimir Sukharev
aa1cce78c3
[FIR] Incorrect warnings about inline function impact
...
^KT-65959 Fixed
2024-03-12 10:26:23 +00:00
Evgeniy.Zhelenskiy
7eab4b672d
[K1, K2, CLI] Mark whole position range of compiler diagnostics in CLI
...
#KT-64989
2024-02-08 12:59:31 +00:00
Kirill Rakhman
376a9b8ace
[FIR] Implement deprecation for accessing private operators from public inline function
...
This only affects delegation operators as well as the for-loop-related
next and hasNext operators.
All the other operators worked correctly before.
In K2, the previously mentioned operator calls will be flagged with a
deprecation error and will become and error in 2.1.
#KT-59782 Fixed
2024-02-06 11:18:25 +00:00
vladislav.grechko
d27adf6677
[FIR] Forbid multiple labels per statement
...
^KT-53629: Fixed
2024-01-30 19:58:53 +00:00
vladislav.grechko
cd5b38b958
[FIR] Unwrap error expressions when detecting USAGE_IS_NOT_INLINABLE
...
Otherwise, false positive USAGE_IS_NOT_INLINABLE may be detected
^KT-65316: Fixed
2024-01-30 19:58:53 +00:00
Kirill Rakhman
251827c9aa
[FIR] Don't approximate captured types
...
This fixes some type argument mismatch errors caused by a captured type
being approximated and then captured again.
Some places need to be adapted to work with captured types that
previously only worked with approximated types.
#KT-62959 Fixed
2024-01-17 08:20:05 +00:00
Mikhail Glukhikh
5cd3f8bb97
K2: don't report inline access errors on const properties in annotations
...
#KT-60604 Fixed
2023-11-20 10:32:05 +00:00
Mikhail Glukhikh
bb8002d9f1
K2: reproduce KT-60604
2023-11-20 10:32:05 +00:00
Brian Norman
3327bed5bd
[FIR] Report more occurrences of NON_LOCAL_RETURN_NOT_ALLOWED
...
When an inline lambda is invoked or passed to another inline function,
make sure non-local returns are allowed by all surrounding declarations.
Otherwise, NON_LOCAL_RETURN_NOT_ALLOWED must be reported.
^KT-59884 Fixed
^KT-55319 Fixed
2023-11-02 12:33:56 +00:00
Evgeniy.Zhelenskiy
ce396f4ab6
[FIR] Add check inline declaration inside constructor calls
...
#KT-59933
2023-10-26 11:29:26 +00:00
Vladimir Sukharev
da1fa8fce4
[FIR] Revert: Fix K2: Introduced AMBIGUOUS_ANONYMOUS_TYPE_INFERRED
...
This reverts commit d7adc0ce32 .
Merge-request: KT-MR-12569
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-10-16 09:05:58 +00:00
Vladimir Sukharev
d7adc0ce32
[FIR] Fix K2: Introduced AMBIGUOUS_ANONYMOUS_TYPE_INFERRED
2023-09-21 13:46:00 +00:00
Nikolay Lunyak
cd392ebe69
[FIR] Don't miss RETURN_NOT_ALLOWED
...
^KT-59914 Fixed
2023-09-04 10:19:11 +00:00
Kirill Rakhman
d0cc86f52c
[Tests] Update test data after changes to FIR diagnostic messages
2023-08-21 16:28:48 +00:00
Nikolay Lunyak
4bba93f633
[FIR] Implement PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL
...
^KT-59382 Fixed
2023-08-04 11:20:39 +00:00
Kirill Rakhman
129b930bd7
[FIR] Implement NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE diagnostic
...
#KT-59398 Fixed
2023-07-25 07:48:22 +00:00
Nikolay Lunyak
8c5b2ae85b
[FIR] Fix modifying CheckerContext inside checkers
...
`InlineFunctionBodyContext` was not moved
outside the class to preserve as much
git blame info as possible.
^KT-56460 Fixed
2023-07-10 09:28:55 +00:00
vladislav.grechko
195ca10394
[FIR] Report error on non-public API access in @PublishedApi inline fun
...
^KT-59695: Fixed
2023-07-03 12:24:16 +00:00
Anastasia.Nekrasova
62d8d04b51
[Test] Add a test covering missed error for virtual inline vals in enum classes
...
Addition to inline functions that are already present in tests.
^KT-34372
2023-07-01 15:10:05 +00:00
Kirill Rakhman
6a073e0b17
[FIR] Fix duplicate spaces in FirPartialModifierRenderer
2023-06-21 08:36:46 +00:00
Brian Norman
8fad4272fc
[FIR] Fix default message for PRIVATE_CLASS_MEMBER_FROM_INLINE
...
Error message was only printing the calling inline function and not the
class member being accessed. Make sure both pieces for diagnostic
information are included in the error message.
#KT-58972 Fixed
2023-06-15 13:49:41 +00:00
Mikhail Glukhikh
2fcd296db8
FE: fix effective visibility bound calculation logic
...
#KT-58757 Fixed
#KT-58840 Fixed
2023-05-24 08:56:20 +00:00
Mikhail Glukhikh
c130786889
FE: reproduce KT-58757
2023-05-24 08:56:20 +00:00
Nikolay Lunyak
bcfafc601e
Add EnumEntries to minimal-stdlib-for-tests
...
This change allows to revert adding `WITH_STDLIB` directive
to tests which happened at `a9343aeb`.
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
2023-03-02 10:23:38 +00:00
Kirill Rakhman
3b9724d20e
[FIR] Desugar increment/decrement in body resolve phase
...
The expression needs to be resolved first to determine if there is a
receiver that needs to be extracted to a temporary variable. Also, the
special case for prefix increment/decrement on local variable without
delegates requires resolution to check if the variable is local.
^KT-56771 Fixed
^KT-56659 Fixed
2023-03-02 10:19:57 +00:00
Dmitriy Novozhilov
cbc8b74e89
[FE 1.0] Don't check star projections in PrivateInlineFunctionsReturningAnonymousObjectsChecker
...
^KT-56692 Fixed
2023-02-28 09:17:39 +00:00
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