Commit Graph
171 Commits
Author SHA1 Message Date
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
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
Tagir Valeev c09250da45 CommentTracker#replaceAndRestoreComments: try to keep comments after the statement (not move them to the front) 2018-10-08 14:09:24 +07:00
Tagir Valeev aee5f482a6 JoiningMigration: preserve comments in removed toString() call 2018-09-07 18:31:22 +07:00
Tagir Valeev a0f1b41336 TerminalBlock: preserve comments after continue statement (not in the proper place though) 2018-09-03 19:57:02 +07:00
Tagir Valeev ab3c5b7e5a OptionalUtil#getMapTypeArgument: support PsiEmptyExpressionImpl input
Fixes EA-125157 - IOE: PsiJavaParserFacadeImpl.createExpressionFromText
2018-07-26 17:41:49 +07:00
Tagir Valeev 625def0299 FoldExpressionIntoStream, StreamApiMigration: EquivalenceChecker used 2018-07-11 14:43:44 +07:00
Tagir Valeev 3fad9a22f4 PsiJavaCodeReferenceElementImpl: preserve tokens (comments/whitespace) between name element and parameter list 2018-07-11 14:43:42 +07:00
Tagir Valeev ec98df958b StreamApiMigration: parentheses in BufferedReader.lines() scenario supported 2018-07-10 14:13:38 +07:00
Tagir Valeev 9ba38bc486 StreamApiMigrationInspection: skip parentheses in loop bound 2018-07-09 12:31:45 +07:00
Tagir Valeev d516456163 CountingLoop: support parenthesized condition 2018-07-06 13:58:43 +07:00
Tagir Valeev bd4a3477f5 StreamApiMigration: register comments from post-loop operations like sorting 2018-06-27 09:29:38 +07:00
Roman.Ivanov 5076e08145 set SPACE_BEFORE_COLON_IN_FOREACH true by default, fix tests 2018-06-26 12:04:00 +07:00
Tagir Valeev 79ed1b2dc3 shortenClassReferences: dequalify references which are statically imported 2018-06-14 10:08:16 +07:00
Tagir Valeev f4839c89ea BaseStreamApiMigration: when deleting the initializer replace type with explicit if possible
Fixes IDEA-193618 Invalid code generated after "Can be replaced with 'collect' call"
2018-06-13 11:14:54 +07:00
Roman.Ivanov 5858ba478c fix tests for foreach formatting 2018-06-05 11:31:17 +07:00
Tagir Valeev 3c2cd21d35 MigrateToStreamFix: explicit formatting removed (as formatted anyways automatically) 2018-05-30 18:23:38 +07:00
Tagir Valeev b336e70485 Less smart simplifications after loop-to-stream (keep stream) 2018-05-13 18:10:54 +07:00
Tagir Valeev a1a4663b73 CollectMigration: support toUnmodifiableMap
Fixes IDEA-187213 Stream API migration: support Java 10 toUnmodifiableList/Set/Map collections
2018-04-17 15:06:35 +07:00
Tagir Valeev 2e6232e029 StreamApiMigration tests reorganized 2018-03-13 11:21:23 +07:00
Tagir Valeev b2d5f75a92 StreamApiMigration: support Java10 toUnmodifiableList/Set (part of IDEA-187213) 2018-03-13 11:21:22 +07:00
Tagir Valeev c483ae9cd0 ControlFlowUtils#getInitializerUsageStatus fixed for do-while loops where var is declared just before the loop 2018-02-21 12:24:01 +07:00
Tagir Valeev d5f9284f2e ExpressionUtils#isSimpleExpression: disable for non-final fields 2018-02-05 15:53:39 +07:00
Tagir Valeev 3210510c96 CollectionUtils#isCollectionOrMapSize
Used in ToArrayCallWithZeroLengthArrayArgumentInspection and StreamApiMigrationInspection
2018-01-30 11:01:38 +07:00
Tagir Valeev ac8ad2c822 IDEA-183326 Comment disappears in stream to loop 2017-12-06 17:47:22 +07:00
Tagir Valeev 6746c6e1d1 StreamApiMigration: fixed exception when void expression is used as method argument 2017-12-04 17:40:01 +07:00
Tagir Valeev b435203ca2 IDEA-182759 CommentTracker already used exception 2017-11-28 12:57:49 +07:00
Tagir Valeev 5b36191d2c IDEA-182623 Replace with collect swallows comments 2017-11-27 15:22:26 +07:00
Tagir Valeev 5b8f3b2bfe StreamApiMigrationInspection: preserve comments on cleanUp limit/bufferedReader 2017-11-27 15:22:25 +07: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
Roman 545ae69261 StreamApiMigrationInspection: improve stream source recognition 2017-09-27 12:28:23 +07:00
Roman c20bbf70d2 Simplify Stream API call chain inspection improvements: IDEA-179118 2017-09-27 09:43:29 +07:00
Tagir Valeev fa6bbd0b5d CollectMigration: prepare to IncorporateStreamOperationsInspection; fix NewListTerminal to support collections only 2017-09-26 09:29:37 +07:00
Roman Ivanov 364c5bb129 add new groupBy cases 2017-09-13 11:29:31 +07:00
Roman IvanovandRoman Ivanov 0752af3706 fix errors 2017-09-13 10:11:23 +07:00
Roman Ivanov c3b4d6f849 support return in forEach replacement 2017-09-01 12:37:18 +07:00
Roman IvanovandRoman Ivanov 5acdc9ccdc add tests 2017-09-01 12:07:23 +07:00
Roman Ivanov aaee667ca7 add nested stream filter recognition 2017-08-24 11:35:17 +07:00
Roman Ivanov ef335f6a88 fix codegen for natural order: IDEA-CR-23874 2017-08-17 16:13:48 +07:00
Roman Ivanov f9f85c0832 improve codegen in simple case 2017-08-17 16:13:47 +07:00
Roman Ivanov fa416812fc improve conversion to stream api for joining cases 2017-08-17 10:21:31 +07:00
Roman Ivanov 72bab18a58 support min/max in stream api migration, rearrange tests 2017-08-02 12:57:45 +07:00
Roman Ivanov dd4ba58889 add support for binary operation reduction in stream migration 2017-07-20 17:15:07 +07:00
Tagir Valeev 036f556c55 ControlFlowUtils#statementBreaksLoop: fix void return case 2017-04-21 17:52:15 +07:00
Tagir Valeev d0bd812d05 BoolUtils#getNegatedExpressionText: push negation down into || and && 2017-04-10 16:11:18 +07:00
Tagir Valeev 478cae19bf IDEA-170032 Replace with foreach is not proposed in alt-enter
Now both options (when unchecked) only disable warning and batch-mode replacement, but the action is still available as an intention.
2017-03-30 13:07:18 +07:00
Tagir Valeev b2cd46bdeb StreamApiUtil: fix addition of map operation when object-object cast is involved 2017-03-14 13:19:47 +07:00
Tagir Valeev 909f89ab6e StreamApiMigration: disallow reassigning counting loop variable 2017-02-20 13:29:52 +07:00
Tagir Valeev 21b3f46f1a StreamApiMigration: collect(joining()): allow separator addition based on counting loop variable value 2017-02-19 18:37:49 +07:00