Commit Graph
23 Commits
Author SHA1 Message Date
Tagir Valeev a94e87e968 StreamToLoop: inline simple common method references 2016-12-19 18:43:21 +07:00
Tagir Valeev 437d89ac15 StreamToLoop comparator support: insert parentheses if necessary 2016-12-19 16:50:08 +07:00
Tagir Valeev 204a045f0a StreamToLoop: min/max: Comparators as lambdas/method references supported; Comparator.naturalOrder() and reverseOrder() inlined. 2016-12-19 16:35:41 +07:00
Tagir Valeev 4b066b1b90 StreamToLoopInspection fixed when collection result is non-trivial generic type involving ? extends wildcards 2016-12-16 16:43:58 +07:00
Tagir Valeev 9c78db8af0 FunctionHelper: fix renaming in lambdas if autogenerated name conflicts with the existing one 2016-12-16 11:12:15 +07:00
Tagir Valeev f04e5ecef5 IDEA-165397 Replace stream API with loop: support lambdas as toArray argument 2016-12-15 09:52:13 +07:00
Tagir Valeev 81e951bf90 StreamToLoopInspection#ensureCodeBlock refactored to use PsiTreeUtil.mark/releaseMark (IDEA-CR-16755)
RefactoringUtil#expandExpressionLambdaToCodeBlock reverted (now changes there unnecessary)
void single-expression lambda support
2016-12-14 17:57:02 +07:00
Tagir Valeev e4f40bf51f StreamToLoopInspection: fix when stream is inside multi-line expression lambda 2016-12-13 12:35:16 +07:00
Tagir Valeev 7b65a6919d StreamToLoopInspection: handle some if/ifPresent cases 2016-12-13 12:33:43 +07:00
Tagir Valeev f25764d72f StreamToLoop: disable in this()/super() constructor invocation as we cannot generate statements before this/super call. 2016-12-12 19:12:02 +07:00
Tagir Valeev e87c551445 StreamToLoop: reuse variable if possible when the stream is used in the declaration 2016-12-12 17:27:54 +07:00
Tagir Valeev 810445f21d StreamToLoop: unwrap negation and ternary; minor refactoring 2016-12-12 17:27:53 +07:00
Tagir Valeev 8e128b7f32 StreamToLoop: support Optional unwrap if possible 2016-12-09 15:17:26 +07:00
Tagir Valeev f99940c8e3 StreamToLoop: add finisher parentheses automatically if necessary 2016-12-09 11:04:29 +07:00
Tagir Valeev c7ccea5186 StreamToLoop: add variable name suggestions from method reference output variable 2016-12-09 10:33:49 +07:00
Tagir Valeev f0c8802a27 StreamToLoop inspection: simplify toMap mergers (a,b)->a (use putIfAbsent) and (a,b)->b (use put) 2016-12-06 12:23:06 +07:00
Tagir Valeev 4e919302c7 StreamToLoopInspection: support inside single-expression lambdas 2016-11-30 17:36:09 +07:00
Tagir Valeev c2e815fc97 IDEA-163405 Migration from Stream API back to for loops: iteration#2 2016-11-24 18:15:51 +07:00
Tagir Valeev acbb7bddda StreamToLoopInspection: added ExplicitCollectTerminalOperation; StreamVariable simplified; guard checks added (IDEA-CR-15249) 2016-11-07 12:19:09 +07:00
Tagir Valeev ef215da116 StreamToLoopInspection: disable for raw types (IDEA-163493), disable for unresolved method references 2016-11-03 09:47:40 +07:00
Tagir Valeev 0fb67d4f9d StreamToLoopInspection fixes: toArray intermediate list type fixed; keywords are filtered out from possible var names; context added to expression passed to BoolUtils; supported inside method calls 2016-11-02 13:50:36 +07:00
Tagir Valeev 0ae5c0f1ae StreamToLoopInspection: fixed flatMap with method reference argument 2016-11-01 18:46:15 +07:00
Tagir Valeev 9caa6d5ede IDEA-161198 Migration from Stream API back to for loops 2016-11-01 15:38:57 +07:00