Commit Graph

100 Commits

Author SHA1 Message Date
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
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