Pavel Dolgov
a0afa83117
Java inspections: Created "Move return to computation" inspection, added a few tests (IDEA-121153)
2016-09-06 19:05:05 +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