Commit Graph

808 Commits

Author SHA1 Message Date
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 e7e0982841 IDEA-165193 Provide a quick-fix to replace String concatenation in loop with StringBuilder 2016-12-08 15:56:55 +07:00
Dmitry Batkovich 4ac9d4360e create constructor parameter should consider context (e.g.: type parameter name == some class name from java.lang) 2016-12-07 18:23:14 +03:00
Tagir Valeev 54f7edf064 StreamApiMigrationInspection: use collect when computeIfAbsent is used; VariableAccessUtils#variableIsUsed instead of ReferenceSearch (IDEA-CR-16490) 2016-12-07 12:51:54 +07:00
Tagir Valeev 95fac58f03 ExcessiveLambdaUsageInspection: support JUnit5 assertions; regex as lambdaMethod, minor improvements (IDEA-CR-16398) 2016-12-07 12:13:02 +07:00
Anna.Kozlova e55fbf3f1d isEffectivelyFinal: disallow effectively final variables to be initialized twice (IDEA-165060) 2016-12-06 17:54:19 +01:00
Pavel Dolgov 05744d1ffd Java: Merged ConfusingElseInspection and RemoveRedundantElseAction into RedundantElseInspection, made it an INFORMATION-level inspection (IDEA-162191) 2016-12-06 17:42:37 +03:00
Anna.Kozlova 81e49151ff don't insert braces around single lambda parameter 2016-12-06 12:35:48 +01: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 f3d41d8a3c InlineStreamMapAction: restore comments 2016-12-06 12:23:06 +07:00
Tagir Valeev d7cb4edc8d IDEA-164880 Refactoring to function composition methods 2016-12-06 12:23:05 +07:00
Tagir Valeev 203c11fca6 IDEA-164822 Migrate to Stream API: support toMap/groupingBy scenarios 2016-12-02 16:30:57 +07:00
Anna.Kozlova 1732f58088 disable method reference replacement with qualifier (IDEA-164723) 2016-12-01 10:39:31 +01:00
Tagir Valeev 4e919302c7 StreamToLoopInspection: support inside single-expression lambdas 2016-11-30 17:36:09 +07:00
Tagir Valeev d749f3dc5a IDEA-163909 Inspection to replace computeIfAbsent returning a constant with putIfAbsent 2016-11-30 15:15:58 +07:00
Anna.Kozlova 57bd0325ef copy also nullable annotations when create constructor parameter from field (IDEA-164493) 2016-11-25 12:50:54 +01:00
Anna.Kozlova 261e309dd7 import static: insert single-static-import if multiple on-demand imports with corresponding constants are available leading to ambiguity reference 2016-11-25 09:56:52 +01:00
Anna.Kozlova 83bb640734 ensure inserted single-static-import when conflicting on-demand imports are presented (IDEA-155031) 2016-11-25 09:56:52 +01:00
Tagir Valeev c2e815fc97 IDEA-163405 Migration from Stream API back to for loops: iteration#2 2016-11-24 18:15:51 +07:00
Anna.Kozlova e201eee547 warn if lambda -> method ref fix can change semantics (IDEA-CR-16052) 2016-11-23 14:31:13 +01:00
Bas Leijdekkers ad8c623aca add parentheses to quick fix presentation 2016-11-23 11:31:36 +01:00
Tagir Valeev 0f7c78a5a6 IDEA-163991 ifPresent is not suggested when value is not used inside expression; OptionalIsPresentInspection uses CommentTracker now 2016-11-23 17:26:57 +07:00
Anna.Kozlova 2514f10f0e lambda -> method ref: allow conversion with any qualifier, show warning only for trivial qualifiers; same for anonymous -> method ref (IDEA-CR-16052) 2016-11-22 20:22:29 +01:00
Bas Leijdekkers eae8f18550 Report default annotation parameters in more cases 2016-11-21 17:09:17 +01:00
Anna.Kozlova 7d1f9d1e7b lambda -> method ref: allow pure method call chain (IDEA-164223) 2016-11-21 16:28:18 +01:00
Tagir Valeev 3fa339e3dd IDEA-164016 Replace Optional.isPresent() checks with functional-style expressions fix produces non-compilable code 2016-11-21 14:47:02 +07:00
Tagir Valeev f60c60c661 IDEA-164144 Intention offers change to comparingInt for long fields 2016-11-21 13:08:30 +07:00
Anna.Kozlova 6fd0b34f8f fix negative testdata 2016-11-14 11:22:36 +01:00
Anna.Kozlova 9615755678 fix testdata 2016-11-11 12:59:34 +01:00
Tagir Valeev 0fa3853dfb IDEA-163767: fixed for assignment, tests for assignment and ternary 2016-11-11 13:24:09 +07:00
Tagir Valeev 1d74e0af9d IDEA-163767 Simplify optional.isPresent() inspection doesn't suggest simplify trivial case 2016-11-11 13:14:55 +07:00
Tagir Valeev 9fe8c96b78 OptionalUtil#getMapTypeArgument: check nulls; remove 0-arg check 2016-11-11 12:02:36 +07:00
Tagir Valeev 7e574d661c IDEA-163764 "Replace Optional.isPresent() checks with functional-style expressions" create uncompilable code
IDEA-163463 Stream API migration: type argument before map appears sometimes when it's unnecessary
2016-11-11 11:28:44 +07:00
Tagir Valeev ff8a32476a StreamApiMigrationInspection: NPE fixed (EA-91387) 2016-11-09 12:27:15 +07:00
Tagir Valeev 21564bba7b IDEA-163627 Simplify optional.isPresent() inspection could better handle some specific cases
IDEA-163462 Simplify Optional.isPresent() ? Optional.get() : ...
2016-11-07 17:23:00 +07:00
Tagir Valeev acbb7bddda StreamToLoopInspection: added ExplicitCollectTerminalOperation; StreamVariable simplified; guard checks added (IDEA-CR-15249) 2016-11-07 12:19:09 +07:00
Roman Shevchenko 7c8d607d8d [tests] test data inlined 2016-11-03 16:59:34 +01:00
Tagir Valeev ef215da116 StreamToLoopInspection: disable for raw types (IDEA-163493), disable for unresolved method references 2016-11-03 09:47:40 +07:00
Anna.Kozlova 8067101fcf EA-91047 - IOE: PsiJavaParserFacadeImpl.createExpressionFromText 2016-11-02 17:02:29 +01: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
Tagir Valeev efa6763db1 ComparatorCombinatorsInspection: fixed for incomplete statement (EA-90916) 2016-11-01 09:38:18 +07:00