Commit Graph

2405 Commits

Author SHA1 Message Date
Alexey Kudravtsev 8b2f420ab3 IDEA-151933 Optimize Imports can produce ambiguous code 2016-09-07 14:12:33 +03:00
Anna Kozlova b8d5b9ab09 anonym -> functional: allow cast to resolve overload resolution 2016-09-06 11:58:45 +03: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
Alexey Kudravtsev 0798a43f7d Use resolveImaginarySuperCallInThisPlace() instead of enumerating all super class constructors; find usages of overloaded ctr should find only correct implicit super calls 2016-09-01 16:59:57 +03: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 1784622744 bind parameter to field: ensure applicable field is chosen/skip already assigned (IDEA-160180) 2016-08-25 21:03:40 +03:00
Anna Kozlova 5774dbf0cd ambiguity of implicit constructor call (IDEA-160248) 2016-08-25 17:36:03 +03:00
Anna Kozlova 2ec75e05a1 method refs: prefer unhandled exception to wrong return type error (IDEA-160251) 2016-08-25 17:36:03 +03:00
Tagir Valeev 26841947aa InvalidComparatorMethodReferenceInspection: fixes according to IDEA-CR-13278 2016-08-25 16:45:13 +03:00
Tagir Valeev f96b5696c3 IDEA-160239 Warn about using Integer::min, Integer::max where Comparator expected 2016-08-25 12:34:41 +03:00
Dmitry Avdeev 03d53cc1d5 IDEA-160207 Redundant default parameter value assignment doesn’t catch unnecessary array assignments 2016-08-25 12:13:37 +03:00
Anna Kozlova 08a18bc8bd surround with if: fix for expression lambda (IDEA-160218) 2016-08-24 15:14:38 +03:00
Alexey Kudravtsev 11a4ede7a5 highlight names: do not highlight in huge chunks because there maybe whitespaces or comments between tokens; instead, highlight identifiers only 2016-08-23 14:54:58 +03:00
Alexey Kudravtsev 5fa79bc4e1 test 2016-08-23 14:49:38 +03:00
Anna Kozlova 6d77cd0e05 unused declaration: merge unused parameters inspection 2016-08-22 08:21:16 +03:00
Anna Kozlova 1bece25b95 inference: when unchecked conversion was applied, resolve variables against raw substitutor 2016-08-17 13:53:02 +03:00
Anna Kozlova e743d2ad59 ensure cast to class type is suggested when argument type is null (IDEA-159884) 2016-08-16 17:39:07 +03:00
Anna Kozlova 6fdc29ee24 highlight comments inside qualified names (IDEA-154450) 2016-08-15 20:17:11 +03:00
Anna Kozlova 8a0c63df61 names highlighting: don't highlight typed reference as class name (IDEA-65270) 2016-08-15 20:17:11 +03:00
peter 9776d5a28d speedup functional expression search (IDEA-159107)
* filter inapplicable expressions without loading AST if possible, via approximate resolve
* for that, store the approximate call chains in index
* iterate over files once, not for each empty marker Runnable interface separately
* don't rely on generic method parameter index: it's huge, memory-hungry and works only in Java
2016-08-13 12:12:19 +02:00
peter e8ea2598f3 fun expr search: minor improvements after reviews 2016-08-13 12:12:19 +02:00
Anna.Kozlova 1839e42715 treat captured wildcard type as type parameter type with special upper bound (IDEA-159663) 2016-08-12 11:06:57 +02:00
Anna Kozlova a5af84762d can be diamond: ensure inner class is referenced as simple name, otherwise qualified text with generics outer class would lead to kinda raw type (IDEA-159179) 2016-08-12 09:21:55 +03:00
Anna.Kozlova 369c9a24b4 diamonds: fix conflicting names between constructor and class type parameters (rename the constructor type parameters) 2016-08-09 15:52:11 +02:00
Anna.Kozlova 0e3d077bfe fix inheritance of abstract and default methods when multiple defaults are present 2016-08-09 15:52:11 +02:00
Anna Kozlova 8ac15c13de check context for functional expressions once (IDEA-159362) 2016-08-08 08:35:27 +02:00
Anna Kozlova ccf3beba42 check diamond applicability over static factory underneath (IDEA-159287) 2016-08-08 08:35:27 +02:00
peter 522e0b9c2d don't visit jdk Stream API usages when searching for unrelated functional interface implementations 2016-08-03 12:49:11 +02:00
Pavel Dolgov d92688892f Java control flow: Fixed false positive for definite assignment in finally block - more lightweight implementation (IDEA-64488) 2016-08-03 12:47:42 +03:00
Bas Leijdekkers d543f426ad fix silly assignment tests 2016-08-02 13:57:18 +02:00
Pavel Dolgov cb2dfeb368 Java control flow: Fixed false positive for definite assignment in finally block (IDEA-64488) 2016-08-01 20:19:49 +03:00
Bas Leijdekkers 46e4268b8f Fixed "Variable assigned to itself" quickfix (IDEA-148688) 2016-08-01 17:13:28 +02:00
Pavel Dolgov 7b97664b85 Java control flow: Detect unreachable code when a break or continue in the try block is overridden in the finally block of the same try statement (IDEA-35597) 2016-07-29 14:54:49 +03:00
peter c71a1e7136 IDEA-158267 Parameter completion overwrites the following lambda declaration ' () -> {}' 2016-07-27 12:15:56 +02:00
Pavel Dolgov 96a576963a Java control flow: Fixed false positive for unreachable code in multi-catch clause (IDEA-138978) 2016-07-25 19:19:45 +03:00
Pavel Dolgov 8c2803eedc Java control flow: Handle the case where the variable from the left part of a compound assignment is modified in the right part of the same assignment (IDEA-23725) 2016-07-25 13:36:21 +03:00
peter 22b9dc61a6 fin functional expressions of SAM interfaces related to the given one 2016-07-23 23:05:56 +02:00
peter 2a93e063bd rewrite functional expression search to use stub index 2016-07-22 17:41:21 +02:00
Anna.Kozlova f9c6e0fda2 enum constants should be checked to implement enum interfaces 2016-07-22 15:05:47 +02:00
Pavel Dolgov 2be74e8c45 Java control flow: Added conditional branch that bypasses assert statement because assertions can be disabled (IDEA-71526) 2016-07-22 14:58:35 +03:00
Anna.Kozlova 035b6d9d1f lambda return type inconsistency: highlight all found errors (IDEA-158853) 2016-07-21 19:03:45 +02:00
Anna.Kozlova d8def3334c exceptions declared by try with resources should collect all close methods from the resource class and choose exceptions in the intersection (IDEA-158762) 2016-07-21 13:47:22 +02:00