Commit Graph

111 Commits

Author SHA1 Message Date
Anna Kozlova
8bad8079f6 lambda: do not skip generic method when non-generic method exist in the same class 2014-04-22 20:02:52 +02:00
Anna Kozlova
b49d8e753f testdata 2014-04-22 20:02:40 +02:00
Anna Kozlova
f1f6fcf53b functional interfaces: ignore methods with type parameters during abstract method choosing 2014-04-22 20:02:38 +02:00
Anna Kozlova
a55db18089 lambda: accept intersection type when exactly one conjunct is functional 2014-04-22 20:02:37 +02:00
Anna Kozlova
76a9293609 testdata 2014-04-22 20:02:34 +02:00
Anna Kozlova
552dfe92a9 lambda: intersection type produces conjunction of abstract methods 2014-04-22 20:02:30 +02:00
Anna Kozlova
bd9dbfc7d5 testdata 2014-04-22 20:02:29 +02:00
Anna Kozlova
9914757d15 warn about underscore identifier 2014-04-22 20:02:28 +02:00
Anna Kozlova
565b28a089 check for assignment to final field inside lambda (IDEA-123308) 2014-04-02 20:54:08 +02:00
Anna Kozlova
d33575878b new inference: substitute resolved vars which e.g. did not participate in initial session (IDEA-123248) 2014-04-01 14:17:06 +02:00
Anna Kozlova
60acb4b9b2 IDEA-122616 2014-03-21 18:28:36 +01:00
Anna Kozlova
465325a6a6 new inference: nested varargs
(cherry picked from commit 0d293e439ffcbe97db98c1a1b8072e798d94323e)
2014-03-12 10:17:10 +01:00
Anna Kozlova
10760d9bbf new inference: process varargs as separate method candidate/separate phase
(cherry picked from commit fdd6f66268d29bb996a103f69180851b92947d21)
2014-03-12 10:15:03 +01:00
Anna Kozlova
5029b3fc55 new inference: do not prefer specifics based on void return type for both void and value compatible lambdas 2014-03-06 10:15:22 +01:00
Roman Shevchenko
b9b76dca15 java: type annotations 2014-03-04 10:53:04 +01:00
Bas Leijdekkers
7b58b81761 IDEA-121215 (Java 1.8: "Interface may be annotated with @FunctionalInterface" inspection should not report @interfaces) 2014-02-26 21:01:13 +01:00
Anna Kozlova
f1b256f416 forbid lambda in conditional inside cast context 2014-02-24 18:59:42 +01:00
Anna Kozlova
2f80e7d9c0 new inference: reject partial computation 2014-02-21 18:55:54 +01:00
Anna Kozlova
bd681beb26 new inference: 18.5.2 adjustments 2014-02-19 09:46:15 +01:00
Anna Kozlova
19ba9d8c8d new inference: resolve 2014-02-19 09:46:05 +01:00
Alexey Kudravtsev
c7b78f76a2 IDEA-120784 "Class is public should be declared in a file named <Classname>.java" for inner interface 2014-02-18 13:55:52 +04:00
Anna Kozlova
31aba54296 new inference: choosing the most specific method inference 2014-02-13 16:41:20 +01:00
Anna Kozlova
b16df9509f new inference: lift type parameters; stop inference after false appears in bounds 2014-02-12 12:55:47 +01:00
Anna Kozlova
0072e05c02 testdata fixed 2014-02-11 09:54:31 +01:00
Anna Kozlova
4889751ded new inference: exclude return constraints/non pertinent to applicability argument constraints from overload resolution process 2014-02-11 09:40:00 +01:00
Alexey Kudravtsev
ad661d92e4 correct level in highlighting:
highlight element X only when visiting X or its ascendant
2014-02-10 20:03:58 +04:00
Anna Kozlova
ba11e80028 IDEA-120217 same lambda param names highlighting 2014-02-04 18:17:57 +04:00
Anna Kozlova
21fe45f5ad invalid @FunctionalInterface severity change warning -> error (IDEA-120162) 2014-02-03 19:35:40 +04:00
Anna Kozlova
f0bfe3604e forbid forward references from lambda again (IDEA-119936) 2014-01-30 20:13:48 +04:00
Anna Kozlova
c8e5698c54 graph inference: recursive calls (IDEA-119834) 2014-01-27 19:59:23 +04:00
anna
d338bc76df lambda: break/continue inside lambda body checks
(cherry picked from commit a290c356e646bb8ad9c097664648ad9033adf2a8)
2013-11-25 16:48:04 +01:00
anna
709b6166be lambda: void-compatibility check for expression's lambda void type conditional
(cherry picked from commit 76bab4d85984e95279b0358b53ff85734c4589a5)
2013-11-25 16:48:01 +01:00
anna
e351956a4b lambda: void-compatibility check for expression's lambda refined
(cherry picked from commit c59e6beb8c42c48a46550b39725587d3aa8f560a)
2013-11-25 16:47:54 +01:00
anna
481bc252f3 switch tests on new inference
(cherry picked from commit d2cbf3f2833104c3a0381059b0d6ef8ac0b3c94c)
2013-11-25 16:47:38 +01:00
anna
fb98413e84 testdata fixed 2013-11-04 16:16:28 +01:00
anna
a7316ca594 lambda: do not suggest to replace with lambda when refs to final fields exist in body (IDEA-111026); final initializer 2013-10-24 14:07:46 +02:00
anna
b33fa7fc25 effectively final: check flow at variable start (IDEA-114737) 2013-10-10 18:39:58 +02:00
anna
f5257087e9 new inference: overload resolution for SAM return type for implicit lambda should be ignored 2013-09-25 16:12:44 +02:00
Anna Kozlova
e78ab513a5 lambda: check formal params for equality, eliminate wildcards during inference according to 15.27.3 2013-09-23 19:50:41 +04:00
Anna Kozlova
4cae15713b more specific: lambda extended initial fix (IDEA-113357) 2013-09-09 21:42:47 +04:00
Roman Shevchenko
cfc55bcb41 java: single underscore variables highlighting for Java 8 2013-08-07 15:07:21 +02:00
anna
1bd39a6322 recursive lambda checks for functional interfaces 2013-08-06 13:49:09 +02:00
anna
68a43aa534 @FunctionalInterface make warning to prevent misunderstanding 2013-07-15 13:41:52 +02:00
Anna Kozlova
c976e88894 lambda/diamond inference: accept wildcards in lambda return types (IDEA-108955) 2013-06-14 13:30:18 +04:00
Anna Kozlova
6269653b12 lambda: check assignable takes into account wildcards (IDEA-108195) 2013-05-31 20:31:24 +04:00
anna
be9e2fa9f7 testdata fixed 2013-05-06 20:55:21 +02:00
anna
cb99f86169 AIOOBE IDEA-103980
(cherry picked from commit 235e1ab6ff11856c91e6c5afded3209879ac473e)
2013-03-27 19:02:37 +01:00
Roman Shevchenko
54a7b4dc70 Deprecated extension method syntax dropped 2013-02-27 20:40:44 +01:00
anna
a55b0fa17b lambda/method refs: more specific according to 15.12.2.5 - prefer private when private type is given/reference when reference type is given 2013-02-27 18:03:32 +01:00
anna
47c7983713 lambda: check more specific method based on lambda return types with wildcards 2013-02-27 18:03:31 +01:00