Commit Graph

736 Commits

Author SHA1 Message Date
Anna.Kozlova e3f966a2ed @SuppressWarning for foreach and try-with-resources parameters 2016-10-04 11:07:24 +02:00
Tagir Valeev a53a0f3d61 StreamAPI migration: limited sorting support 2016-10-04 15:55:00 +07:00
Tagir Valeev 10c8616d19 StreamAPI migration: propose to use any/all/noneMatch if next return is not true/false (using || or &&) 2016-10-04 15:32:19 +07:00
Tagir Valeev 6723bcc1ea ExpressionUtils#getAssignment now returns simple assignments only (not compound assignments) 2016-10-04 14:16:08 +07:00
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 355973cb56 IDEA-CR-13980: comments handling is simplified (they just extracted and placed before the condition) 2016-09-30 16:32:25 +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
Anna.Kozlova e149c3fa7d renamed static import -> import static (IDEA-161681) 2016-09-27 17:21:04 +02:00
Tagir Valeev 7e72d2fe9e OptionalIsPresentInspection: simplify isRaw() and isOptionalLambdaCandidate(); fix getComments(); add more tests (IDEA-CR-13980) 2016-09-27 12:01:07 +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
Anna.Kozlova 0c1b50e60f provide extends fix for overriding return types (IDEA-161739) 2016-09-26 18:14:53 +02: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
peter 853fc23fe1 remove unnecessary parentheses in IDEA-161061 Quick-fix to replace nullableExpr.equals(...) with Objects.equals(nullableExpr, ...) (IDEA-CR-13960) 2016-09-21 10:50:32 +02:00
Tagir Valeev aadd111eda IDEA-161420 Quick-fix to replace if(optional.isPresent()) with better alternatives 2016-09-21 15:41:20 +07:00
peter b08872448c IDEA-161061 Quick-fix to replace nullableExpr.equals(...) with Objects.equals(nullableExpr, ...) 2016-09-20 16:41:43 +02: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
Pavel Dolgov 40e1b7f91d Java inspection: Preserve comments from replaced and removed statements in EqualsReplaceableByObjectsCallInspection (IDEA-161076) 2016-09-16 17:26:41 +03:00
Pavel Dolgov 63131ab1b2 Java inspection: Support inferred return type of lambda expression in EqualsReplaceableByObjectsCallInspection (IDEA-161076) 2016-09-16 17:26:41 +03:00
Anna Kozlova 89eb51f21c code generation: ensure parameter is created with denotable type
EA-69807 - AIOOBE: PsiElementFactoryImpl.createParameter
2016-09-16 09:45:33 +03:00
Tagir Valeev d4e5f5a2c4 IDEA-161007 ComparatorCombinatorsInspection: better variable naming, support integer difference comparators 2016-09-16 12:48:58 +07:00
Anna Kozlova e2e3d94711 provide accessibility fixes for problems inside annotations (IDEA-148864) 2016-09-15 13:55:49 +03: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 9cac1fb1e7 ComparatorCombinatorsInspection: same family name; naturalOrder()/reverseOrder() support 2016-09-15 10:36:03 +07:00
Tagir Valeev e47c438b25 IDEA-CR-13704 ComparatorCombinatorsInspection: support block lambdas; EquivalenceChecker used 2016-09-14 12:31:14 +07:00
Tagir Valeev e2c7ca2fff IDEA-161007 Support method chains and comparingInt/Long/Double 2016-09-13 16:03:36 +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
Anna Kozlova fe3c8e1843 create from usage: setup extends/implements list according to created pairs (IDEA-160973) 2016-09-12 14:40:07 +03:00
Tagir Valeev dc37f19e2b IDEA-161007 Add new inspection to make comparator lambdas use Comparator.comparing() combinators (Currently only simple comparators supported) 2016-09-12 17:50:47 +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
Pavel Dolgov 9d7e978baf Java inspection: Added lambda expression tests for "Move return to computation" inspection (IDEA-121153) 2016-09-08 16:22:07 +03:00
Pavel Dolgov 898ab196d9 Java inspection: Check if the returned variable is read in the 'finally' block of an enclosing 'try' statement in "Move return to computation" inspection (IDEA-121153) 2016-09-08 16:22:07 +03:00
Pavel Dolgov 6212f4138a Java inspection: Don't look for assignment chains in nested code blocks in "Move return to computation" inspection (IDEA-121153) 2016-09-08 16:22:07 +03: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