Tagir Valeev
35de5a903d
'compare()' method can be used to compare primitives -> 'compare()' method can be used to compare numbers
2018-10-12 12:41:24 +07:00
Tagir Valeev
95f2337448
UseCompareMethod: support boxed inputs and suggest "compareTo"
...
Allows to do IDEA-200365 in three steps now
2018-10-12 12:22:38 +07:00
Tagir Valeev
66504c8088
BoolUtils: negate the equality token for float/double as this does not change the semantics (only >, >=, <, <= change)
2018-10-12 10:34:56 +07:00
Anna.Kozlova
6fa0522d1b
remove redundant suppressions: allow unrelated comment inside same noinspection comment
2018-10-11 15:57:00 +02:00
Anna.Kozlova
2733df787f
preserve comments when remove redundant type arguments
2018-10-10 18:18:09 +02:00
Tagir Valeev
cee88f887b
FindFirstMigration: use ifPresent when stream element type is primitive and the final statement is an assignment
...
This case is possible only if we have no non-final locals updated in the loop, so the assignment updates field or array element.
Using common assignment scenario may not work as primitive optionals lack map/filter operations
Fixes IDEA-200209 "Replace with findFirst" produces incompilable code
2018-10-10 15:55:53 +07:00
Pavel Dolgov
a2c0f2202c
Java: Improved inspection "Join Declaration And Assignment" - handle C-style array declarations (IDEA-177132)
2018-10-09 15:08:01 +03:00
Pavel Dolgov
1402f1a2f6
Java: Improved inspection "Join Declaration And Assignment" - simplify handling of comments (IDEA-177132)
2018-10-09 13:29:33 +03:00
Pavel Dolgov
d8f1620454
Java: Improved inspection "Join Declaration And Assignment" - simplify handling of comments (IDEA-177132)
2018-10-08 13:34:50 +03:00
Tagir Valeev
1554b0c513
DeleteSwitchLabelFix: check again whether the whole branch should be removed when fix is actually applied
...
Fixes IDEA-200021 Red code after applying 'Fix all 'Constant conditions and exception' problems in the file' with multiple case labels
2018-10-08 14:09:25 +07:00
Tagir Valeev
c09250da45
CommentTracker#replaceAndRestoreComments: try to keep comments after the statement (not move them to the front)
2018-10-08 14:09:24 +07:00
Tagir Valeev
5663e0bde8
IDEA-200030 Quick-fix to remove unreachable should remove body only if previous branch has 'break' at the end
2018-10-08 10:57:50 +07:00
Pavel Dolgov
1245d379ff
Java: Improved inspection "Join Declaration And Assignment" - preserve 'final' (IDEA-177132)
2018-10-05 20:02:21 +03:00
Pavel Dolgov
0dcbd3f6e5
Java: Improved inspection "Join Declaration And Assignment" - corner case handled (IDEA-177132)
2018-10-05 17:34:02 +03:00
Tagir Valeev
422d8fad2f
Rename Java inspections
...
Imperative names changed to declarative
Keywords/method names quoted
Cosmetics
2018-10-05 14:01:19 +07:00
Anna.Kozlova
3bf18f4db9
expand static import intention available at the end of the line (IDEA-199910)
2018-10-04 19:13:47 +02:00
Pavel Dolgov
82abf56a28
Java: Improved inspection "Join Declaration And Assignment" (IDEA-177132)
2018-10-04 19:31:15 +03:00
Anna.Kozlova
bc61fc52a0
redundant suppression: don't delete all same comments/top annotation when one suppress comment is actually to be deleted
2018-10-04 18:20:21 +02:00
Pavel Dolgov
799b769b2f
Java: Convert intention "Join Declaration And Assignment" into inspection (IDEA-178919)
2018-10-04 16:46:00 +03:00
Tagir Valeev
f12b4848c6
RefactoringUtil#ensureCodeBlock: support &&-chains in returns/lambdas (IDEA-199811)
...
Also implementation extracted to package-private class
2018-10-03 13:46:47 +07:00
Tagir Valeev
46ffa7b2cc
Testdata fixed
2018-10-03 10:55:33 +07:00
Pavel Dolgov
acbb991ce1
Java: Convert intention "Join Declaration And Assignment" into inspection - minor fixes after review (IDEA-178919)
2018-10-02 15:12:37 +03:00
Tagir Valeev
8bb578e43c
SimplifyBooleanExpressionFix: fix 'while' handling after ensureCodeBlock improvements
2018-10-02 16:36:16 +07:00
Tagir Valeev
49e8a5a7ff
IDEA-199811 RefactoringUtil#ensureCodeBlock: support while conditions; support && chains in if-then and while
2018-10-02 16:36:15 +07:00
Tagir Valeev
ec3b05f6a3
ConstantExpressionVisitor fixes
...
1. Relational operators are promoted according to JLS, not always to double type (IDEA-199775)
2. Casting to boxed type is disabled, as JLS 15.28 suggests
Result of boxed comparison like (Long)128L == (Long)128L is unknown now as size of boxing cache is not specified in JLS
2018-10-02 12:59:27 +07:00
Roman.Ivanov
19b4764435
SortContentAction: fix \n placement in presence of comments: IDEA-199734
2018-10-02 12:08:47 +07:00
Anna Kozlova
fe3955570d
redundant suppression in the editor: treat suppress ALL
2018-10-01 18:50:39 +02:00
Pavel Dolgov
0623c7b75f
Java: Convert intention "Join Declaration And Assignment" into inspection - improved highlighting (IDEA-178919)
2018-10-01 17:51:52 +03:00
Tagir Valeev
763ad22de9
Support local classes
2018-10-01 16:31:37 +07:00
Tagir Valeev
5fc3612fa9
DeleteSwitchLabelFix: delete unreachable switch branch
...
Fixes IDEA-199692 Quickfix to delete unreachable switch branch reported by "constant conditions & exceptions"
2018-10-01 14:54:36 +07:00
Tagir Valeev
ca1c783ed1
InlineStreamMapAction: correctly handle lambda parameters with explicit types
2018-09-28 18:17:03 +07:00
Pavel Dolgov
37a3fcab85
Java: Convert intention "Join Declaration And Assignment" into inspection (IDEA-178919)
2018-09-28 13:20:45 +03:00
Tagir Valeev
43f52af2ba
WrapObjectWithOptionalOfNullableFix: get nullability from common dataflow
2018-09-28 11:13:11 +07:00
Tagir Valeev
003aa20f96
LambdaCanBeMethodCallInspection: support Java11 Pattern.asMatchPredicate()
...
IDEA-199626 Suggest Java 11 Pattern.asMatchPredicate() instead of x -> pattern.matcher(x).matches()
2018-09-28 10:56:07 +07:00
Anna Kozlova
3366ae8733
restore comments on removing redundant cast
2018-09-27 13:57:12 +02:00
Tagir Valeev
625c1cc676
ConvertSwitchToIfIntention: fixes after review IDEA-CR-37311:
...
1. Do not suggest intention if `default` case is not the last one and fallthrough is possible into or out of that case
2. Generate a code-block if side-effect should be extracted to variable
2018-09-27 10:17:10 +07:00
Anna.Kozlova
01eb8ca66b
redundant lambda code block: warn for self suppressions so it would be suppressed by LocalInspectionPass
...
otherwise Redundant Suppression would report such cases as suppress comment would prevent reporting by itself
2018-09-26 17:51:41 +02:00
Anna.Kozlova
89c0f4af1c
redundant suppressions: remove suppression from local variable annotation fixed
2018-09-26 17:51:41 +02:00
Anna.Kozlova
09ee7d2e36
redundant suppressions: don't warn for unfair inspections (IDEA-199532)
2018-09-26 17:51:41 +02:00
Tagir Valeev
1b4e5c1e39
Merge SwitchStatementWithSingleDefaultInspection into SwitchStatementWithTooFewBranches
...
Fixes IDEA-199499 Improve "Replace 'switch' with 'if'" action and make it a quick-fix for "Switch has too few branches"
Now default is not counted as branch in SwitchStatementWithTooFewBranches
2018-09-26 17:06:07 +07:00
Tagir Valeev
f859a4c439
Support BreakConverter in ConvertSwitchToIfIntention
...
Fixes IDEA-141261 'Replace 'switch' with 'if'' intention produces incorrect code if some 'case' clause contains 'break' statement inside 'if'
2018-09-26 11:58:20 +07:00
Tagir Valeev
9530731ea5
IDEA-196805 Warn about switch statement with single 'default'
2018-09-25 14:19:43 +07:00
Anna.Kozlova
83a859546b
redundant suppression available in the editor IDEA-151197
...
also, global inspection redundant suppressions made java independent (WEB-16634)
2018-09-21 19:37:01 +02:00
peter
9f0c066ae9
when "if" or a loop body is deleted, replace it with an empty code block
...
to preserve PSI-text consistency
2018-09-21 13:48:12 +02:00
Anna.Kozlova
5cec08212e
create method from usage: guess return types by context of the same method calls (IDEA-199042)
2018-09-19 13:56:49 +02:00
Tagir Valeev
596a850fa3
LambdaCanBeMethodCallInspection: support Pattern.negate() case
...
IDEA-197892 Explicitly negated Predicate::test can be simplified with Predicate::negate
2018-09-19 17:51:26 +07:00
Tagir Valeev
85f0872d9b
StreamToLoop: support parentheses inside flatMap
2018-09-19 12:26:21 +07:00
Tagir Valeev
65049765b0
StreamRefactoringUtil#isRefactoringCandidate disable if method reference is not resolved
2018-09-19 12:20:47 +07:00
Alexey Kudravtsev
858e241d05
add test case for IDEA-CR-36995
2018-09-17 18:33:55 +03:00
Tagir Valeev
b7688efea7
TerminalOperation: check arguments count for "collectingAndThen" collector.
...
Fixes EA-127467 - AIOOBE: TerminalOperation.fromCollector
2018-09-17 09:30:59 +07:00