Ivan Kochurkin
00bc04b3df
[FIR] Implement ELSE_MISPLACED_IN_WHEN diagnostics, fix tests
2021-04-19 15:46:38 +03:00
Mikhail Glukhikh
8a2cab346a
Fix FIR IDE tests (EXPRESSION_EXPECTED, ITERATOR_MISSING, etc.)
2021-04-19 15:11:17 +03:00
Tianyu Geng
b5caa658d6
FIR: introduce delegate diagnostics
...
This commit adds diagnostics for the following
* DELEGATE_SPECIAL_FUNCTION_MISSING
* DELEGATE_SPECIAL_FUNCTION_AMBIGUITY
* DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE
2021-04-19 15:11:16 +03:00
Tianyu Geng
454ae3b17a
FIR checker: report UNSAFE_CALL for overloaded function calls
...
Previously if an unsafe call is to an overloaded function, FIR checkers
report NONE_APPLICABLE. This change instead report them as UNSAFE_CALL
or its variants.
2021-04-19 15:11:13 +03:00
Mikhail Glukhikh
a736d62edd
FirForLoopChecker: report also OPERATOR_MODIFIER if appropriate + minor
...
This commits checks iterator/hasNext/next functions whether they are
declared as operator or not. Also, it changes logic of hasNext/next
error reporting, now we're able to report errors about both these
functions.
2021-04-19 15:11:10 +03:00
Mikhail Glukhikh
2e14b65644
Introduce FirForLoopChecker
2021-04-19 15:10:58 +03:00
Mikhail Glukhikh
eb831b9afc
FIR: support separate ANONYMOUS_FUNCTION_WITH_NAME
2021-04-19 15:10:38 +03:00
Mikhail Glukhikh
6b95bcdbdb
FIR: support separate ASSIGNMENT_IN_EXPRESSION_CONTEXT
2021-04-19 15:10:18 +03:00
Mikhail Glukhikh
9894b97058
FIR: rename EXPRESSION_REQUIRED to EXPRESSION_EXPECTED
2021-04-19 15:09:50 +03:00
Ilya Kirillov
26ea0be635
FIR IDE: temporary update testdata until diagnostic collection for delegated objects is fixed
2021-04-19 13:52:47 +02:00
Ilya Kirillov
f40f506852
FIR: move components from AbstractDiagnosticCollectorVisitor to CheckerRunningDiagnosticCollectorVisitor
2021-04-19 13:52:46 +02:00
Ilya Kirillov
ea233cddf8
FIR: rename goToNestedDeclarations -> visitNestedElements
2021-04-19 13:52:46 +02:00
Ilya Kirillov
eed143d17b
FIR: remove beforeRunningAllComponentsOnElement/beforeRunningSingleComponentOnElement from AbstractDiagnosticCollectorVisitor
2021-04-19 13:52:45 +02:00
Ilya Kirillov
41e822e8cb
FIR IDE: fix duplicated diagnostic collection
2021-04-19 13:52:44 +02:00
Ilya Kirillov
5829f1a6e7
FIR IDE: add more test cases to TraversalCounterTestGenerated
2021-04-19 13:52:43 +02:00
Ilya Kirillov
e78e8f8c79
FIR IDE: fix behaviour of DiagnosticTraversalCounterTest
2021-04-19 13:52:43 +02:00
Ilya Kirillov
32c1101959
FIR IDE: introduce tests for checking diagnostic visitor context collection
2021-04-19 13:52:42 +02:00
Ilya Kirillov
ac993754e1
FIR IDE: collect diagnostics context under read lock
2021-04-19 13:52:41 +02:00
Ilya Kirillov
ce62348709
FIR IDE: do not report suppressed diagnostics
2021-04-19 13:52:41 +02:00
Ilya Kirillov
fd082b1574
FIR IDE: get rid of DiagnosticCollectorDeclarationAction
2021-04-19 13:52:40 +02:00
Ilya Kirillov
e79c133331
FIR IDE: separate diagnostics collection and checker context collection
2021-04-19 13:52:39 +02:00
Ilya Kirillov
29a0c448a6
FIR IDE: remove FirIdeFileDiagnosticsCollector as unused
2021-04-19 13:52:38 +02:00
Ilya Kirillov
f9d415eda6
FIR: make AbstractDiagnosticCollector.Visitor non-inner
2021-04-19 13:52:37 +02:00
Ivan Kochurkin
4353365968
[FIR] Implement NULL_FOR_NONNULL_TYPE diagnostics, fix tests
2021-04-19 12:46:08 +03:00
Andrei Klunnyi
81a5ae7780
KT-44431 Quickfix to move to sealed: suggests tests source root
...
From now on we display the source root matching the target directory.
^KT-44431 Fixed
2021-04-16 19:38:52 +02:00
Andrei Klunnyi
eed4cb4f00
KT-44431 Quickfix to move to sealed: refactoring
...
Sealed super class directory is now calculated in a more
straightforward way.
2021-04-16 19:38:52 +02:00
Ilmir Usmanov
7b14975740
Add 'value' modifier to modifier order
...
Otherwise, there will be unfixable 'non-canonical modifier order'
warning
#KT-46088
#KTIJ-5636 Fixed
2021-04-16 18:51:44 +03:00
Dmitriy Novozhilov
c65553bb8a
[FIR] Get rid of source element type parameter from diagnostic factories
2021-04-16 14:08:11 +03:00
Alexander Udalov
168d8b07a8
Minor, fix warnings on new stdlib API
...
In modules where allWarningsAsErrors is not yet enabled.
2021-04-15 18:39:06 +02:00
Ilya Kirillov
676e29e96e
fix up: do not read declaration phase without read lock hold
2021-04-15 15:24:04 +03:00
Ilya Kirillov
0a80fbb078
FIR IDE: do not read declaration phase without read lock hold
2021-04-15 15:23:57 +03:00
Ilya Kirillov
0cf00d0f72
FIR: fix FirDefaultPropertyAccessor phase to BODY_RESOLVE
2021-04-15 15:23:56 +03:00
pyos
474d1d48f7
FIR: allow fun T.() = ... as an instance of (T) -> ...
...
It was already done by the previous commit by mistake, but it broke if
there are other value parameters because the type of the first parameter
would be inferred to be same as the type of the receiver.
2021-04-15 14:59:29 +03:00
Ivan Gavrilovic
11b92bc597
[Gradle] Fix init script for coroutines
...
Use doFirst instead of beforeTask to add javaagent args for coroutines debugging.
2021-04-15 12:39:25 +03:00
Andrei Klunnyi
2bb7f6a168
KT-45347 Quickfix to move to sealed parent: do not suggest for binaries
...
^KT-45347 Fixed
2021-04-15 11:17:36 +02:00
Mark Punzalan
957f6ddafd
FIR checker: Enable ReplaceWithDotCallFix for UNNECESSARY_SAFE_CALL.
2021-04-14 22:30:42 +02:00
ebukreev
d8a2f82cbd
FIR: inroduce FirFunInterfaceConstructorReferenceChecker
2021-04-14 19:53:43 +03:00
Andrei Klunnyi
ac85f9d983
KT-45348 Sealed Inheritors Inspection: binary Kotlin parent is ignored
...
^KT-45348 Fixed
2021-04-14 18:12:28 +02:00
Andrey Zinovyev
3c093f57ba
[FIR] Add DYNAMIC_UPPER_BOUND check
...
+Fix some failing diagnostic tests
+Use PositioningStrategy to locate reified modifier
2021-04-14 18:11:18 +03:00
Andrey Zinovyev
0d525bbe85
[FIR] Add MISPLACED_TYPE_PARAMETER_CONSTRAINTS check
2021-04-14 18:11:17 +03:00
Andrey Zinovyev
412b941486
[FIR] Add DEPRECATED_TYPE_PARAMETER_SYNTAX check
2021-04-14 18:11:16 +03:00
Andrey Zinovyev
2b8c22c08a
[FIR] Add CYCLIC_GENERIC_UPPER_BOUND check
2021-04-14 18:11:14 +03:00
Andrey Zinovyev
03215f4e0a
[FIR] Add TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER check
2021-04-14 18:11:13 +03:00
Andrey Zinovyev
470993ac07
[FIR] Add TYPE_PARAMETERS_NOT_ALLOWED check
2021-04-14 18:11:12 +03:00
Andrey Zinovyev
14fe570a00
[FIR] Add more type params checks
...
VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED
BOUND_ON_TYPE_ALIAS_PARAMETER_NOT_ALLOWED
2021-04-14 18:11:09 +03:00
Andrei Klunnyi
fb1b253d1e
KT-46063 Quick fix: remaining when branches for 'expect' sealed
...
'List<WhenMissingCase>.hasUnknown' property was changed in 4222bb9a .
As a result quickfix's AddWhenRemainingBranchesFix.Companion.isAvailable
started responding 'no'.
This commit restores original property and provides a separate one for
compiler needs.
^KT-46063 Fixed
2021-04-14 15:57:15 +02:00
Ting-Yuan Huang
6c989bfd4b
Support array of annotation in KotlinJvmBinaryClass
...
KotlinJvmBinaryClass.AnnotationArrayArgumentVisitor didn't cover the
case when the element type is an Annotation. Therefore, when the
compiler read an array of annotations from JVM binary classes built from
Kotlin sources, it got an empty array regardless of what was written in
the bytecode.
For example, Foo.value below is read as an empty array when SomeClass
resides in another Kotlin module.
@Foo(
value = [Bar(1), Bar(2)]
)
class SomeClass
2021-04-14 13:14:26 +02:00
zadorotskas
334d0a8b5a
FIR: introduce three diagnostics for const val
2021-04-13 21:36:46 +03:00
vldf
57d2eb5da2
Introduce FirFunctionReturnTypeMismatchChecker
2021-04-13 21:36:33 +03:00
vldf
24f1f1221e
Introduce FirInitializerTypeMismatchChecker
2021-04-13 21:36:31 +03:00