Commit Graph
2787 Commits
Author SHA1 Message Date
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
Anna.Kozlova 4290a37a08 new inference: check intersection type of upper bound to detect substitution (IDEA-165011) 2016-12-07 18:44:34 +01: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
Anna.Kozlova 5732b8fb81 ensure static fields/static initializers are evaluated before instance fields (IDEA-165084) 2016-12-07 11:18:47 +01: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
Anna.Kozlova 57ec346668 precise rethrow: special case for catch Exception (IDEA-164241) 2016-12-06 12:13:22 +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
Roman Shevchenko 9aef1ccba3 [java] allows @author tag on method Javadoc (IDEA-159020) 2016-12-02 20:29:33 +01:00
Anna.Kozlova 382b78aeca unrelated defaults: check if current class contains explicit method (IDEA-164732) 2016-12-02 11:51:07 +01:00
Tagir Valeev 203c11fca6 IDEA-164822 Migrate to Stream API: support toMap/groupingBy scenarios 2016-12-02 16:30:57 +07:00
Anna.Kozlova 936294e05d allow functional expressions in nested conditional expressions (IDEA-164828) 2016-12-01 16:52:02 +01:00
Anna.Kozlova 1732f58088 disable method reference replacement with qualifier (IDEA-164723) 2016-12-01 10:39:31 +01:00
Anna.Kozlova a17be30b79 include package local methods into method hierarchy (IDEA-164557) 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
Pavel Dolgov 2f5e954770 Java: Fixed false positive "unreachable statement" in the control flow analysis (IDEA-164442) 2016-11-30 13:04:34 +03: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 d4a9f70ca8 private modifier in interfaces: check for modifier combinations, body (IDEA-164596) 2016-11-28 15:38:48 +01: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 df3abfd8c3 check constructor only implicitly called constructor (IDEA-164500) 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
Anna.Kozlova 049a253fdf inference: don't erase types when target type is parameterized with unbounded wildcards only, in this case no unchecked warning would be generated and the types won't be affected by unchecked warning clause 2016-11-23 11:53:29 +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
Anna.Kozlova becb6c7387 inference: mark call unchecked required when proper types are compared (IDEA-164243) 2016-11-21 19:33:20 +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 ec82847b4e resolve for method reference qualifier should prefer classes in case of constructor refs (IDEA-164165) 2016-11-18 17:58:54 +01:00
Anna.Kozlova ccb61093af overload resolution: don't choose most specific method based on boxing property for vararg position (IDEA-163597) 2016-11-17 17:10:53 +01:00
Anna.Kozlova 39aa837db3 inference: don't distinguish parameterizations with 2 different interfaces (IDEA-163950) 2016-11-15 18:11:31 +01: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