Commit Graph

1116 Commits

Author SHA1 Message Date
peter 609eea57ac IDEA-178434 "Unwrap 'if' statement" produces incompilable code if variable declared in the if body shadows the outer scope variable 2017-10-13 21:17:37 +02:00
Tagir Valeev 14759e531a IDEA-180417 Generated code ("Replace with collect") is invalid follow-up
Fixed for groupingBy as well
2017-10-13 13:12:17 +07:00
Tagir Valeev 59c3fd672a IDEA-180417 Generated code ("Replace with collect") is invalid 2017-10-13 13:04:12 +07:00
Anna.Kozlova f253087643 bring var to scope: disabled for resource variables (IDEA-180436)
EA-61004 - assert: BringVariableIntoScopeFix.invoke
2017-10-12 19:38:49 +02:00
Pavel Dolgov 24a6c66183 Java: Fixed removing unused variable occurrences from 'for' loop's update and init clauses (IDEA-180217) 2017-10-11 15:35:05 +03:00
Tagir Valeev a07277260c DeleteSideEffectsAwareFix: do not remove message for non-expression-statement
The fix is still useful if invoked for if condition/switch expression/etc. Fixes IDEA-180372.
2017-10-11 15:51:21 +07:00
Tagir Valeev 31b328cdca RedundantStringOperation: append("") (IDEA-180178), intern()
ConstantStringInternInspection removed
2017-10-11 14:35:28 +07:00
Tagir Valeev 454efb3280 RedundantStringOperationInspection: SubstringZero and StringToString merged 2017-10-11 14:35:27 +07:00
Tagir Valeev 6fcd75db84 IDEA-180288 Quick fix breaks code: Optional.ofNullable() with not-null argument 2017-10-11 10:28:14 +07:00
Tagir Valeev 08cea712a2 MoveFieldAssignmentToInitializerInspection: allow unknown methods
As this is intention-like part of inspection (no warning), we can allow it even if we are not sure that semantics will be preserved. See comments in IDEA-177602
2017-10-09 16:38:56 +07:00
Tagir Valeev 319d4c205a ChangeToAppendUtil: do not add useless .append("")
Partially fixes IDEA-180178 String concatenation as argument to 'StringBuilder.append()' call should be smarter
2017-10-09 12:12:34 +07:00
Tagir Valeev cdd80f8de4 UnrollLoopAction: support counting loop; limit max iterations to unroll 2017-10-09 11:24:05 +07:00
Tagir Valeev 9a91789f27 MethodReturnTypeFix: do not suggest when type refers to type parameter not available at method declaration 2017-10-09 09:27:16 +07:00
Tagir Valeev 504300662d IDEA-179382 intention to change return type works when assigning but not when passing a return value as an argument to some different method 2017-10-06 17:46:20 +07:00
Roman Shevchenko 5c5c3ce691 [java] class-like annotation wrapping in modules 2017-10-02 20:19:01 +02:00
Roman Shevchenko d8b2de2b28 [java] fixes formatting around soft keywords 2017-10-02 17:56:32 +02:00
Roman 19551bd6af ComparatorCombinatorsInspection: support chain comparisons, provide fix 2017-10-02 18:43:25 +07:00
Tagir Valeev 389e6a828d ConstantExpressionVisitor: for class access expression return the operand type
Before for String.class the "Class<String> type was returned (instead of simply "String" type). This was usually fine, but for int.class and Integer.class the same "Class<Integer>" type was returned, despite the constants are different.
2017-09-28 13:15:14 +07:00
Roman 545ae69261 StreamApiMigrationInspection: improve stream source recognition 2017-09-27 12:28:23 +07:00
Tagir Valeev 1779a8a871 FuseStreamOperationsInspection: fixes according to review IDEA-CR-24873
1. Code sample in description
2. Supported toCollection with parameterized method-reference
2017-09-27 10:50:03 +07:00
Roman c20bbf70d2 Simplify Stream API call chain inspection improvements: IDEA-179118 2017-09-27 09:43:29 +07:00
Anna Kozlova 0ca243309f LVTI: var -> explicit type (IDEA-179177) 2017-09-26 16:13:12 +02:00
Tagir Valeev 4e24c72077 IDEA-179557 Merge nested if's removes comment 2017-09-26 16:58:46 +07:00
Tagir Valeev 2a29c82c70 FuseStreamOperationsInspection
Fixes IDEA-179303 Suggest replacing Collectors.toList()/toSet() + collection constructor with Collectors.toCollection
2017-09-26 11:01:37 +07:00
Tagir Valeev b2df7a760a IDEA-179490 "Can be replaced with single expression in functional style" in Java fails when field name matches class name 2017-09-26 09:44:21 +07:00
Tagir Valeev fa6bbd0b5d CollectMigration: prepare to IncorporateStreamOperationsInspection; fix NewListTerminal to support collections only 2017-09-26 09:29:37 +07:00
Anna Kozlova 776b8f9474 LVTI: explicit variable type is redundant (IDEA-179177) 2017-09-25 15:05:22 +02:00
Tagir Valeev 29e2383afd IDEA-179370 "Constant conditions and exceptions" quickfix "Replace with 'x != null ?:'" does nothing 2017-09-22 16:20:55 +07:00
Tagir Valeev cade4517aa IDEA-168343 Suggest to change called method return type when used in return statement 2017-09-22 14:15:40 +07:00
Tagir Valeev dede7b30f7 IDEA-113585 Cast to Type quick fix creates code that doesn't help 2017-09-19 16:10:34 +07:00
Tagir Valeev 36999ebfc4 IDEA-179128 Quick-fix for "'if' statement has empty body" 2017-09-19 13:04:21 +07:00
Tagir Valeev d7f09f6cdd StreamToLoop: support array slice (Arrays.stream(arr, from, to)) 2017-09-18 17:30:53 +07:00
Tagir Valeev 7345e8b0ef UnrollLoopAction: fixes according to review IDEA-CR-24513
1. Check that loop parameter is not written
2. Support List.of, Collections.singleton, Collections.singletonList
3. Support if w/o braces
4. Support break not in last position
2017-09-18 16:37:40 +07:00
Tagir Valeev 717076ee3c SimplifyForEachContext#from: fix nullability problem
EA-107550 - NPE: SimplifyForEachInspection.extractLambdaFromForEach
2017-09-18 15:21:32 +07:00
Roman Ivanov 8385149b78 Merge remote-tracking branch 'origin/master' 2017-09-13 11:37:12 +07:00
Roman Ivanov 364c5bb129 add new groupBy cases 2017-09-13 11:29:31 +07:00
Tagir Valeev 308e007dd8 ExcessiveLambdaUsageInspection: support Java 9 requireNonNullElseGet 2017-09-13 10:46:01 +07:00
Tagir Valeev 626278150e IDEA-178846 False positive "Excessive lambda usage" inspection 2017-09-13 10:27:14 +07:00
Roman Ivanov 0752af3706 fix errors 2017-09-13 10:11:23 +07:00
Tagir Valeev 35eb29010f IDEA-178788 Suggestion code replace from list iteration to List.removeAll 2017-09-13 09:41:13 +07:00
Tagir Valeev 6e87cb9bfd RefactoringUtil#ensureCodeBlock enhanced and used in Surround with try-catch
Fixes IDEA-178781 "Surround with try-catch" QuickFix for "Unhandled exception" in a field initializer
Enables stream-to-loop in field initializer
Fixes stream-to-loop in for initializer
Disables stream-to-loop in for update
2017-09-12 13:34:43 +07:00
Tagir Valeev 94a5fea51d IDEA-178774 Unroll loop intention action 2017-09-12 09:25:51 +07:00
Anna Kozlova 5fa4775cf1 unresolved qualifiers in ref expressions chain (follow IDEA-CR-24382) 2017-09-11 13:35:36 +03:00
Tagir Valeev a2dfaa56dc SimplifyForEachInspection: compilation fix added for non-final var
Adds another alternative to IDEA-177104
2017-09-07 15:47:38 +07:00
Daniil Ovchinnikov e08521fb91 [jvm-lang] update Java-to-Java Create Method from usage tests 2017-09-06 21:24:13 +03:00
Anna Kozlova 955a6160cd resolve references by qualified class name when qualifiers can't be resolved
javac ignores problems caused by files located in wrong directories, IDEA reports them: try to search class by FQName when failed to resolve normally (IDEA-178376; IDEA-176179)
2017-09-06 19:42:00 +03:00
Daniil Ovchinnikov 87fa214435 [java] add tests for "Create abstract method" 2017-09-06 19:02:21 +03:00
Daniil Ovchinnikov dce477391d [jvm-lang] disable Create Field from Java method calls 2017-09-06 15:33:11 +03:00
Anna Kozlova 18d71a7378 make type parameter implements interface: don't insert any methods in code 2017-09-06 10:53:09 +03:00
Daniil Ovchinnikov e5cb361156 GuessTypeParameters: explicitly set type element to the expected type 2017-09-05 21:13:29 +03:00