Commit Graph

1520 Commits

Author SHA1 Message Date
Tagir Valeev
03e4f37774 ExpectedTypesProvider and CreateLocalFromUsageFix updated for Java 12 (IDEA-204006) 2018-12-21 16:32:43 +07:00
Tagir Valeev
92048254c1 VariableNameGenerator: fixed failing tests 2018-12-21 13:31:29 +07:00
Tagir Valeev
04f7352faa RemoveUnusedVariableUtil: code generation fixes
1. Support Java 12 switch rules and switch expressions (IDEA-203692)
2. Support void expression lambdas
3. Fix PSI structure when expression list statement is reduced to single expression
2018-12-20 13:50:01 +07:00
Tagir Valeev
362b8d0b34 Stream API migration: do not convert continue statements which belong to the nested loops (IDEA-204250) 2018-12-18 12:28:52 +07:00
Tagir Valeev
5d4a0b8197 Basic support of switch expressions in StatementExtractor/SideEffectChecker
Fixes IDEA-204138 Exception in "statement with empty body" inspection with switch expression
Fixes EA-133610 - REWA: StatementExtractor.createNode
2018-12-13 17:42:28 +07:00
Daniil Ovchinnikov
0ebd593531 [java] static modifier of created method should depend on containing class (IDEA-203737) 2018-12-12 13:26:00 +03:00
Daniil Ovchinnikov
e110fd2ee7 [java] don't group "Create from usage" fixes in tests 2018-12-12 13:25:59 +03:00
Tagir Valeev
98347e5018 IDEA-203984 "Remove unreachable branches" quickfix breaks code on switch expression 2018-12-11 15:48:48 +07:00
Tagir Valeev
7e9e5dd691 IDEA-203845 com.intellij.util.IncorrectOperationException: Incorrect statement 'else 2018-12-08 17:14:46 +07:00
Tagir Valeev
3b61faf3d2 MoveFieldAssignmentToInitializer: misc fixes; support Java 12 (IDEA-203693) 2018-12-07 15:09:09 +07:00
Tagir Valeev
53b426dfae SwitchStatementWithTooFewBranches: warn on switch expression; provide fix in simple case (single default) 2018-12-07 12:53:08 +07:00
Dmitry Batkovich
b81af4a9d6 use inter-language modifier fix inside java analysis IDEA-202508 2018-12-07 08:34:41 +03:00
Tagir Valeev
bb990f4f13 ConvertSwitchToIfIntention: support Java 12 switch statements (no expressions) 2018-12-07 11:56:15 +07:00
Bas Leijdekkers
ba48ec7de0 IG: fix false negative with switch expression (IDEA-203709) 2018-12-06 13:02:00 +01:00
Anna.Kozlova
a9fe383ced anonymous -> lambda: stop on calls to j.l.Object methods of anonym classes (IDEA-203343) 2018-11-30 19:11:52 +01:00
Tagir Valeev
0d96d61986 IDEA-203119 Unwrap switch statement: support expressions 2018-11-28 19:00:05 +07:00
Tagir Valeev
81c9810bde IDEA-203119 Unwrap switch statement: support rule-cases and multiple expression cases 2018-11-28 19:00:04 +07:00
Tagir Valeev
67f783a00f SurroundWithRequireNonNull testdata fixed after precise nullability reporting 2018-11-27 17:30:20 +07:00
Tagir Valeev
01b72f856a DFA: branch-specific reporting (IDEA-203016) 2018-11-27 16:57:29 +07:00
Tagir Valeev
1f800bf982 ReplaceWithTernaryOperatorFix: use template instead of selection (IDEA-202345) 2018-11-18 16:26:42 +07:00
Tagir Valeev
882322a5bf InferenceSession#isOverloadCheck: take parentheses into account 2018-11-17 14:48:24 +07:00
Tagir Valeev
6bc07438c6 Support of enhanced Java 12 switch statements in DFA (IDEA-202132, no expressions yet) 2018-11-16 12:06:16 +07:00
Tagir Valeev
8545659a0a StreamToLoop test: ternary in return is supported now 2018-11-11 18:05:27 +07:00
Tagir Valeev
eda6bb3c28 FunctionHelper#registerReusedElements: pass qualifier only
Because ::xyz part is not actually reused, comments from there are not preserved.
2018-11-08 17:30:50 +07:00
Anna.Kozlova
c8dc243d71 redundant suppression (fall through switch stmt): ensure suppressed will be reported by inspection (IDEA-201885) 2018-11-07 17:58:39 +01:00
Anna.Kozlova
7334c6e736 suggest to create class with lower case first letter if ref is located in type element/ref list (IDEA-201744) 2018-11-07 13:51:27 +01:00
Tagir Valeev
2c7124b0b0 ExpressionUtils#getTopLevelExpression; used in SurroundWithTryCatchFix
Fixes EA-131551 - NPE: EnsureCodeBlockImpl.splitIf
We need to avoid custom logic for processing && chains, etc. in RefactoringUtil#ensureCodeBlock.
2018-11-07 10:45:38 +07:00
Anna.Kozlova
316f8bfc63 change extends <-> implements: ensure resulted list is formatted (IDEA-201751)
lists are created from light elements which are created from canonical texts and they just do not contain whitespaces
2018-11-06 19:04:10 +01:00
Anna.Kozlova
4be054181c testdata for IDEA-171701 2018-11-06 10:47:57 +01:00
Tagir Valeev
11e73d577f RedundantStringOperation: id changed, merger updated (IDEA-CR-34351) 2018-11-04 10:54:34 +07:00
Anna.Kozlova
2ef3685dd6 don't suggest casts for assignable types (IDEA-201457) 2018-10-30 16:09:23 +01:00
Tagir Valeev
2e36108630 SimplifyBooleanExpressionFix: support always-false last disjunct in if
Fixes IDEA-200961 Simplification of "!list.add(type) is always false" may change code semantic
2018-10-23 17:44:26 +07:00
Tagir Valeev
747aec38c9 ConvertSwitchToIfIntention: better comments handling 2018-10-23 15:34:51 +07:00
Anna.Kozlova
9aa64b30d9 inference: allow child session inference if containing method is not generics 2018-10-19 17:52:43 +02:00
Tagir Valeev
e79ea86e18 EnsureCodeBlock: support or-chains in return/lambdas 2018-10-18 19:21:37 +07:00
Anna.Kozlova
265764b961 fix testdata 2018-10-18 11:12:33 +02:00
Tagir Valeev
6e5d42e80b afterAddFinally.java: whitespace fixed 2018-10-18 10:42:21 +07:00
Tagir Valeev
50abafa3f8 UnwrapSwitchLabelFix: when only one switch branch is reachable
Fixes IDEA-200651 Analysis for 'switch' statements may determine always truthy conditions on branches in addition to always falsy
Minor refactoring of reporting in DataFlowInspectionBase
2018-10-17 16:39:25 +07:00
Tagir Valeev
5878fde5e9 Add 'catch' block after incomplete try (final piece of IDEA-200560) 2018-10-17 13:04:54 +07:00
Tagir Valeev
3eaa3ff64f Add 'finally' block fix (part of IDEA-200560) 2018-10-17 12:17:52 +07:00
Anna.Kozlova
3b68fe09e7 redundant suppressions in editor: ensure suppressions from injections are processed 2018-10-12 19:21:31 +02:00
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