Commit Graph
67 Commits
Author SHA1 Message Date
Tagir Valeev c6cf323132 ControlFlowUtils#statementBreaksLoop; StreamApiMigrationInspection#getInitializerUsageStatus simplified 2016-10-04 09:49:28 +07:00
Tagir Valeev 3c07adbe09 Stream API migration: replace with findFirst().ifPresent() chain 2016-10-03 12:43:45 +07:00
Tagir Valeev b53646340b Stream API migration: support nested anyMatch 2016-10-03 12:43:44 +07:00
Tagir Valeev df36bfcf5f IDEA-CR-14049 missing getType() added; support array initializers in Optional map 2016-09-30 16:53:43 +07:00
Tagir Valeev 738994f1c0 IDEA-161925 Stream API migration: support toArray conversion, fixed mapping to initialized array, fixed final variable status, clean up in RefactoringUtil 2016-09-30 16:12:57 +07:00
Tagir Valeev 7cb4480fd1 StreamApiMigrationInspection: references to non-final variables in intermediate operations were incorrectly handled sometimes 2016-09-30 10:23:12 +07:00
Tagir Valeev 5cbf3d5a9b StreamApiMigrationInspection: correctly handle anonymous classes/lambdas (IDEA-CR-14138) 2016-09-30 10:04:58 +07:00
Tagir Valeev b9a06d65b9 IDEA-161861 Stream API migration should handle cases where result variable is not declared just before the for loop 2016-09-29 15:54:08 +07:00
Tagir Valeev b141891dc1 StreamApiMigrationInspection: fix noneMatch()/allMatch() quick-fix name when continue is used; prettier Optional code generated in some cases 2016-09-27 11:21:17 +07:00
Tagir Valeev e69109e521 StreamApiMigrationInspection improvements: expression+break conversion to anyMatch; pull out cast of stream.findFirst().map(x -> (T)x).orElse(null) to (T) stream.findFirst().orElse(null) 2016-09-26 15:52:55 +07:00
Tagir Valeev 16e8ad126e IDEA-161706 Migration to Stream API: support primitive types int/long/double 2016-09-26 13:05:05 +07:00
Tagir Valeev 70ab891daf move StreamApiMigrationInspection to separate package, extract inner classes, add "suggest foreach" option, restore comments in anyMatch/findFirst/etc., fix trivial replacements with anyMatch/findFirst 2016-09-20 13:37:14 +07:00
Tagir Valeev 2e1c8b6067 IDEA-161260 convert to findFirst() if assignment is followed by break 2016-09-19 14:33:14 +07:00
Tagir Valeev 6919b5ddd6 IDEA-161002 More anyMatch cases supported with if statement 2016-09-19 12:19:21 +07:00
Tagir Valeev 8c3bbd3b2c IDEA-161260 Migration to findFirst(): Support more expression kinds in the last return statement 2016-09-15 16:30:49 +07:00
Tagir Valeev 5a5929c43f IDEA-161260 Stream API Migration: support findFirst() patterns 2016-09-15 12:13:11 +07:00
Tagir Valeev c29dc4e3a4 IDEA-161002 Support cases like if(...) { for(...) {...} } return false; 2016-09-13 12:21:27 +07:00
Tagir Valeev 9540aeb8c2 IDEA-CR-13640 Suggest variable name based on type 2016-09-13 11:35:14 +07:00
Tagir Valeev 6da7838df4 IDEA-161002 anyMatch/noneMatch disabled for non-final vars; allMatch is supported 2016-09-12 14:28:24 +07:00
Tagir Valeev 821b6c83f0 IDEA-CR-13651 BoolUtils.getNegatedExpressionText() used and fixed for float/double (to preserve semantics for NaNs) 2016-09-12 11:36:31 +07:00
Tagir Valeev 884043aacc IDEA-161002 Migration to Stream API: convert return true/return false to anyMatch/noneMatch 2016-09-09 17:41:19 +07:00
Tagir Valeev 610a2a914b IDEA-151523 Method reference is not created unconditionally now (for complex qualifier or non-final field it could be incorrect) 2016-09-09 13:58:56 +07:00
Tagir Valeev 6d5901be86 IDEA-160946 Labeled continue is excluded; understand if(..) continue else {...}; more tests 2016-09-09 11:22:00 +07:00
Tagir Valeev 29097076aa IDEA-160946 Stream API migration: understand if(...) continue at the beginning of the loop 2016-09-08 18:19:27 +07:00
Tagir Valeev c4b6464524 IDEA-160802 fixed case with collection summing 2016-09-08 16:53:51 +07:00
Tagir Valeev 55c8f0cf46 IDEA-151523 Replace with collect when working with an existing collection 2016-09-08 15:22:06 +07:00
Tagir Valeev 8015562c2d IDEA-160898 Inspection to convert several commonly-used lambdas to method references 2016-09-08 12:25:37 +07:00
Tagir Valeev 838d8a7146 IDEA-160789 Migration to Stream API: replace with mapToInt/Long/Double().sum() when possible 2016-09-06 15:50:03 +07:00
Tagir Valeev b0b62211d6 IDEA-160784 Migration to Stream API: replace with Stream.count() when possible (now i+=1 and i=i+1 also supported) 2016-09-06 12:37:05 +07:00
Tagir Valeev 7214316544 IDEA-160778 Buggy replacement with collect when several variables are declared in the same statement 2016-09-06 12:08:23 +07:00
Tagir Valeev f0276b724d StreamApiMigrationInspection: use toList()/toSet() collector if target variable type is Collection 2016-09-06 11:56:13 +07:00
Tagir Valeev e72f6656f8 IDEA-160784 Migration to Stream API: replace with Stream.count() when possible 2016-09-05 17:47:41 +07:00
Tagir Valeev 13d9f8d53a IDEA-CR-13504 Lambda to method-reference: PsiVariable is accepted as it's necessary for StreamApiMigrationInspection;
StreamApiMigrationInspection.TerminalBlock simplified (myFrom/myTo did not actually improve performance, but added unnecessary logic)
2016-09-05 08:57:55 +07:00
Tagir Valeev b7a423d001 IDEA-160707 Stream API migration: support object arrays 2016-09-02 17:55:07 +07:00
Tagir Valeev 6bd88cf67f IDEA-160637 test fixed 2016-09-02 14:47:07 +07:00
Tagir Valeev 1a1290751c IDEA-160637 Stream API migration: support map and flatMap steps 2016-09-02 14:40:40 +07:00
Anna Kozlova 98687b3c65 replace with foreach: disable for arrays of collection type (IDEA-160323) 2016-08-26 11:53:30 +03:00
Anna.Kozlova f14159a852 disable replace with collect for raw collection substitutors (IDEA-153325) 2016-03-21 14:14:26 +01:00
Anna.Kozlova 81a6342d17 anonymous -> method ref: collapse receiver method references to raw receiver (IDEA-153261) 2016-03-18 20:49:43 +01:00
Anna Kozlova c6d354b962 replace with collect: collapse lambda to method reference in filters (IDEA-151491) 2016-02-24 13:12:24 +01:00
Anna Kozlova 7a671c53f8 stream api: fix primitive boxing (IDEA-151494) 2016-02-15 15:49:06 +01:00
Anna Kozlova 5d70440851 foreach -> collect: simplify to addAll on collections if no filter/mapper is present (IDEA-150515) 2016-01-22 14:29:01 +03:00
Anna Kozlova 5ff68d71b0 stream api: shorten class references when replace with foreach 2015-06-26 15:13:22 +03:00
Anna Kozlova 155f283f0e convert to streams: convert lambda to constructor reference; don't accept list when arrayList expected 2015-06-09 20:31:02 +03:00
Anna Kozlova 2f47f0caf0 migration to stream api: disable for raw types (IDEA-140095) 2015-05-08 21:01:45 +02:00
Anna Kozlova 95dfffccb0 replace with collect: insert cast for method reference and simplify when redundant (IDEA-139704) 2015-04-28 13:04:58 +02:00
Anna Kozlova 50043d2bd9 EA-65747 - assert: LambdaCanBeMethodReferenceInspection.canBeMethodReferenceProblem
(cherry picked from commit 694a7b3b7869e1be50170bf6490c8b3e30328c4b)
2015-03-11 20:36:01 +01:00
Anna Kozlova 87a7731477 disable stream conversion if qualifier is used inside method call args (IDEA-137186)
(cherry picked from commit 24dfdad535f2c33e4d1f4d004a28b0ca45012c1b)
2015-03-11 20:34:30 +01:00
Anna Kozlova ffbe05e14d stream migration: reject collection conversion if qualifier depends on loop parameter (IDEA-135104) 2015-01-13 20:55:48 +01:00
Anna Kozlova 0aeef103be convert to stream: support nested conditions 2014-11-12 19:37:57 +01:00