Roman.Ivanov
970afc84ff
JoiningMigration: remove unnecessary side effect check for prefix: IDEA-207456
2019-04-09 12:34:13 +07:00
Tagir Valeev
6bef676307
CollectMigration: do not wrap nullable values with toUnmodifiableList/Set (IDEA-207976)
2019-03-14 11:10:38 +07:00
Tagir Valeev
5c0748b0bc
StreamApiMigrationInspection: BufferedReaderLines: support parentheses around readLine in while scenario
2019-02-18 12:37:12 +07:00
Anna.Kozlova
1ace9ab2c3
lambda -> method ref: reuse comment tracker (IDEA-189934)
2019-02-04 15:21:43 +01:00
Tagir Valeev
15e0df11f9
IDEA-206497 Replace with stream: support intermediate map operations in counting loops
2019-02-04 14:20:39 +07:00
Tagir Valeev
8da8dca8e0
IDEA-200455 Suggest to replace (a, b) -> a + b lambdas with Integer::sum, Long::sum, Double::sum
2019-01-31 14:21:13 +07:00
Tagir Valeev
cfd0c17038
IDEA-205308 'Replace with max()' produces uncompilable source
2019-01-15 13:14:19 +07:00
Tagir Valeev
a3ed07435e
IDEA-205309 'Replace with findFirst()' produces uncompilable source
2019-01-15 12:32:12 +07:00
Tagir Valeev
725cf20422
IDEA-204917 "Loop can be collapsed with Stream API" creates uncompilable results in some cases
...
1. Look for references inside IntStream.iterate condition (Java9+)
2. When simplifying IntStream.range(...).map(i -> arr[i]) check if arr expression don't refer to i
2019-01-06 10:25:15 +07:00
Tagir Valeev
362b8d0b34
Stream API migration: do not convert continue statements which belong to the nested loops (IDEA-204250)
2018-12-18 12:28:52 +07:00
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 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 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