Commit Graph

102 Commits

Author SHA1 Message Date
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
anna
c64013e004 lambda: check more specific method based on lambda return types 2013-02-27 16:07:30 +01:00
anna
4bf90bf26d lambda: testdata 2013-02-26 21:20:52 +01:00
anna
b562064e02 lambda: conditional inference updated 2013-02-25 18:44:13 +01:00
anna
a684c033a1 lambda: replace raw inference from lambda with Object when it doesn't matter (IDEA-101788) 2013-02-25 14:12:42 +01:00
anna
6edc546e65 lambda: void compatibility guess 2013-02-20 21:30:51 +01:00
anna
a82225975a lambda/method refs: check functional interface accessibility 2013-02-20 20:41:07 +01:00
anna
9634bb390e lambda: stop inference from lambda if return type retrieval leads to second lambda inference; do not cache types during this calculation 2013-02-20 20:41:06 +01:00
anna
def5e21e6a lambda: restore void-compatibility checks 2013-02-20 20:41:05 +01:00
anna
3b4e3818e6 lambda: correct inference for vararg place > params.len (IDEA-101169) 2013-02-15 14:00:03 +01:00