Commit Graph

81 Commits

Author SHA1 Message Date
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
anna
b0a04ac5d2 lambda: preserve partial substitutor data during substitute 2013-02-12 17:42:24 +01:00
anna
f9565522cb split tests according to expected language level 2013-02-08 11:34:24 +01:00
Anna Kozlova
42d2b33230 lambda: choose more specific by return type fix (IDEA-99969); check cyclic inference when not on raw 2013-01-29 14:43:26 +04:00
Anna Kozlova
f1c1c6ee42 support @FunctionalInterface 2013-01-28 16:21:22 +04:00
anna
1cc7b6ee11 lambda: check unhandled exceptions for method references; disable surround with try/catch accordingly (IDEA-98966) 2013-01-14 16:51:11 +01:00
anna
c892ea7f32 java 8: resolve conflicts choosing more specific return type (IDEA-98845) 2013-01-11 18:55:34 +01:00
anna
6f2878cdf7 java 8: intersection type casts (IDEA-98843) 2013-01-11 16:09:23 +01:00
anna
5a15076bd6 lambda: check lambda return type compatibility before more specific checks (IDEA-97870) 2012-12-20 15:32:39 +01:00
anna
bd4346cea8 lambda: use incomplete substitutor when calc functional interface (IDEA-97038) 2012-12-18 20:26:31 +01:00
anna
d9fb83d631 lambda: accept raw functional interfaces when there are no params 2012-12-18 13:07:31 +01:00
anna
963b2ed293 lambda: relax incompatible return type in case of void functional types 2012-12-17 17:32:29 +01:00
anna
44ab4d534a lambda: infer functional interface from enum constants (IDEA-97596) 2012-12-17 17:32:28 +01:00
anna
e775459321 lambda: nested lambda return statements exclusion 2012-10-15 16:20:57 +02:00
Anna Kozlova
289ee1d04c lambda: do not override already inferred types from parent (IDEA-92733) 2012-10-12 17:31:16 +02:00
anna
5c170f7eb5 hide "illegal forward reference" warning for lambda (IDEA-91986) 2012-09-25 11:34:17 +02:00
anna
4adc3db92c lambda: return type compatibility test 2012-09-18 09:16:09 +02:00
Anna Kozlova
5a6fdedb9a lambda: check parameters if they use free names (IDEA-91502) 2012-09-13 17:53:30 +04:00
Anna Kozlova
94dd1967d1 lambda: check return compatibility according to expected lambda type; test fixed 2012-09-12 12:59:30 +04:00
Anna Kozlova
943d901fff lambda: do not accept ? as type argument for return value (IDEA-91369) 2012-09-12 00:03:42 +04:00
Anna Kozlova
11a2faaf14 lambda: allow raw types when no inference was performed 2012-09-10 12:54:44 +04:00
Anna Kozlova
5a546b640c lambda: missed return statement error; do not use containing method return type for lambda inference 2012-09-10 12:54:43 +04:00