Commit Graph

70 Commits

Author SHA1 Message Date
Anna Kozlova
955a6160cd resolve references by qualified class name when qualifiers can't be resolved
javac ignores problems caused by files located in wrong directories, IDEA reports them: try to search class by FQName when failed to resolve normally (IDEA-178376; IDEA-176179)
2017-09-06 19:42:00 +03:00
Anna Kozlova
873df28d36 anonym -> lambda: disable for strictfp 2017-08-07 06:37:45 +02:00
Anna.Kozlova
1f82ff1a9e testdata for IDEA-159545 2017-06-30 18:07:25 +02:00
Anna Kozlova
3dff91600a redundant code block: compare same overload resolution (IDEA-174288)
instead of trying with cast afterwards, don't suggest to remove the block at the first place
2017-06-14 11:51:52 +03:00
Denis Fokin
b9755cc7d1 Double semicolons cleanup 2017-02-22 12:45:41 +03:00
Anna Kozlova
cc00f54706 testdata to convert anonymous to lambda with overloads 2016-09-07 16:16:20 +03:00
Anna Kozlova
b8d5b9ab09 anonym -> functional: allow cast to resolve overload resolution 2016-09-06 11:58:45 +03:00
Anna Kozlova
4e813690f7 anonymous -> lambda: allow field shadowing when suggesting new local names (IDEA-157288) 2016-07-08 10:46:34 +02:00
Anna Kozlova
7d48d00ae9 anonymous -> lambda: restore comments (non-javadoc) outside method body (IDEA-157286) 2016-06-30 21:02:38 +03:00
Anna Kozlova
153255f9d2 anonymous -> lambda: enable casts again (IDEA-157960) 2016-06-29 16:18:27 +03:00
Anna Kozlova
f7fbc4b4bc anonymous -> lambda: accept anonymous classes with inferred another type and ref to a parameter as the cast would be inserted (IDEA-157457) 2016-06-15 13:44:38 +03:00
Anna Kozlova
de94a3250f redundant cast inside conditional when opposite has another type 2016-06-06 17:52:24 +03:00
Anna Kozlova
a68cb4dfd3 disable conversion from anonymous if method has javadoc 2016-05-31 18:38:26 +03:00
Anna.Kozlova
99ce4b4f46 redundant lambda code block: check applicability over replaced lambda 2016-05-23 16:29:23 +02:00
Anna.Kozlova
9abe5476b6 new inference: return constraints: fail if outer call exists but can't be resolved (IDEA-154805) 2016-05-09 19:42:35 +02:00
Anna.Kozlova
f52458abdf restrict anonym -> lambda: reject if return type would be changed (IDEA-154805) 2016-04-29 14:41:28 +02:00
Anna.Kozlova
22c8d0f9ce anonymous -> lambda: fix anonymous classes in enum constants 2016-04-20 17:49:29 +02:00
Anna.Kozlova
43fc40c4a5 anonym -> lambda, redundant cast, redundant type args: process top level overloads (IDEA-152766);
rearrange utils
2016-04-15 18:43:24 +02:00
Anna.Kozlova
f7137a044d anonymous -> lambda: deep unique names (IDEA-154751) 2016-04-14 20:59:13 +02:00
Anna.Kozlova
f6faa42d85 anonym -> lambda: reject refs to the next static from static field initializer 2016-03-21 21:11:36 +01:00
Anna.Kozlova
6fc9953a82 show error if uninitialized field is referenced from lambda inside inner/anonymous class in another field initializer; disable anonymous -> lambda for such places 2016-03-21 21:11:36 +01:00
Anna.Kozlova
6daac099e6 anonymous -> lambda: treat class initializers as fields when forward references are check (IDEA-153254) 2016-03-18 20:49:43 +01:00
Anna.Kozlova
53d3aa770c inference: don't include constraints to resolve if input bounds have proper instantiation but depends on the output of another constraints (IDEA-153164) 2016-03-17 21:25:32 +01:00
Anna Kozlova
6e9234b115 redundant casts: don't treat cast as redundant if functional expression get more specific type (IDEA-152093) 2016-02-24 21:05:13 +01:00
Anna Kozlova
9332f88d1a anonymous -> lambda: skip fields with qualified refs to another fields of the same class (IDEA-151954) 2016-02-22 20:05:58 +01:00
Anna Kozlova
b4d2e26d84 fix assertion with code block lambda 2016-02-09 20:09:10 +01:00
Anna Kozlova
62bdd90f58 anonym -> lambda: check inferred type in the same context (IDEA-150947) 2016-01-28 18:50:28 +03:00
Anna Kozlova
1b3ce12a93 anonym -> lambda: accept refs to initialized final fields in classes inside constructors (IDEA-150322) 2016-01-13 16:54:58 +01:00
Anna Kozlova
ad99c2d9b5 anonymous -> lambda: cast if overload would fail (IDEA-144372) 2015-08-27 11:19:30 +03:00
Anna Kozlova
a4eba96102 anonymous -> lambda: name conflict with params resolution (IDEA-138494) 2015-03-31 13:48:26 +02:00
Anna Kozlova
6ae3daeef1 anonymous -> lambda: do not reject cases when return type can't be correctly inferred without target type constraints (IDEA-137390) 2015-03-24 21:04:06 +01:00
Anna Kozlova
f6de981477 ensure anonymous is not converted to lambda/method ref if it contains inner classes or class initializers
(cherry picked from commit 32afe318e3bacd714f3e0b49d8f904402b17a9c2)
2015-03-11 20:27:02 +01:00
Anna Kozlova
7205db4b58 anonym -> lambda: evaluate ground type for type, inferred by position (IDEA-135211) 2015-01-14 16:45:51 +01:00
Anna Kozlova
e6371b208f lambda <-> anonymous <-> method ref: collapse lambda block when applicable refactored (IDEA-134509) 2014-12-18 19:20:21 +01:00
Anna Kozlova
8210171223 anonym -> lambda: ignore calls to object and qualified calls when check to interface methods is performed (IDEA-134039) 2014-12-08 18:59:51 +01:00
Anna Kozlova
e90b046aa4 forbid anonym -> lambda/meth ref if method is synchronized (IDEA-133947) 2014-12-05 21:06:09 +01:00
Anna Kozlova
7547c92c1f anonym -> lambda: expression lambda should be used with care due to void/value ambiguity (IDEA-125951) 2014-11-03 16:03:53 +01:00
Anna Kozlova
3ad7219cdb disable anonymous -> lambda replacement when 'runtime annotated' (IDEA-131206)
(cherry picked from commit 07b10689487a95a5d2de78c25d1a7f0c44b6607d)
2014-10-17 21:02:10 +02:00
Anna Kozlova
4a6095476f EA-57951 - AIOOBE: AnonymousCanBeLambdaInspection.getInferredType
anonymous -> lambda on varargs place
2014-07-23 20:57:31 +02:00
Anna Kozlova
a46f4cef52 anonym -> lambda: disable in case when inferred type differs from type of anonymous class and parameter of param type is used inside (IDEA-127603);
BTW param.toString would be also rejected
2014-07-21 17:56:21 +02:00
Anna Kozlova
1f8864bfa9 anonym -> lambda: forbid when result in illegal self reference (IDEA-126763) 2014-07-02 12:26:16 +02:00
Anna Kozlova
41b974e36f anonym -> lambda: disable if target SAM type is raw and methods are called on params with Object erasure (IDEA-125613) 2014-05-29 21:49:26 +04:00
Anna Kozlova
d2c04b864f anonymous -> lambda: do not collapse to lambda functional interfaces with generics methods, accepted by method refs though 2014-05-26 07:46:09 +04:00
Anna Kozlova
c2957e7fe8 anonymous -> lambda: conflicting ref in var declaration (IDEA-124525) 2014-04-28 15:12:46 +02:00
Anna Kozlova
f3e1d968b8 IDEA-124385 2014-04-25 18:38:38 +02:00
Anna Kozlova
2fa8491e90 IDEA-112552 "Replace with lambda" should use expression lambda when possible 2014-04-08 18:28:25 +02:00
Anna Kozlova
c8bbd66850 anonym -> lambda, method ref: do not suggest replacement when default method is called out of functional interface context 2014-04-08 16:45:38 +02:00
Anna Kozlova
a4f36f237c anonym to lambda: rename conflicting locals (IDEA-120221) 2014-03-26 18:54:40 +01:00
Anna Kozlova
1b50ea2eb2 lambda -> anonym: disable in unexpected context where cast won't help (IDEA-120165) 2014-02-25 10:15:19 +01:00
Anna Kozlova
24fbf809a1 anonym -> lambda: check initializer inside constructor for final fields (IDEA-120698) 2014-02-24 21:49:00 +01:00