Commit Graph

228 Commits

Author SHA1 Message Date
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
f415702127 new inference: default constructor as poly expression argument 2013-09-20 20:36:37 +04:00
Anna Kozlova
4cae15713b more specific: lambda extended initial fix (IDEA-113357) 2013-09-09 21:42:47 +04:00
Anna Kozlova
0622404265 method refs: ambiguity (IDEA-113078) 2013-09-04 13:46:45 +04:00
Anna Kozlova
75847497e5 method refs: accept 2 phase acceptance (static and receiver based), raise 'staticAccess' errors at highlighting level 2013-08-30 13:10:42 +04:00
Anna Kozlova
04a76c3faf IDEA-112555 Bad code is green with method references on instance 2013-08-26 18:11:00 +04:00
Anna Kozlova
183c7cd0b8 fix testdata 2013-08-20 15:15:13 +04:00
Anna Kozlova
6e9b26f3b1 method refs IDEA-112323 2013-08-20 13:32:04 +04:00
Anna Kozlova
e006534d08 moreSpecific cleanup 2013-08-15 17:38:03 +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 Kozlova
d28dd0f6ca testdata fixed 2013-07-29 20:08:03 +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
8741f3f1d6 non-static members access from implicitly static context fixed (IDEA-108285) 2013-06-03 22:25:26 +04:00
Anna Kozlova
6269653b12 lambda: check assignable takes into account wildcards (IDEA-108195) 2013-05-31 20:31:24 +04:00
Anna Kozlova
1996dc9571 static interface methods completion: forbid on instance members, inheritors (IDEA-107794) 2013-05-30 15:46:54 +04:00
Anna Kozlova
fb8144344c static interface methods: forbid on instance members, inheritors (IDEA-107794) 2013-05-30 15:46:53 +04:00
anna
a5a54bd00a method references of vararg methods 2013-05-14 12:08:00 +02:00
anna
7a56eb198f new array refs: accept signatures with assignable to int params (IDEA-106973) 2013-05-13 15:05:52 +02:00
anna
be9e2fa9f7 testdata fixed 2013-05-06 20:55:21 +02:00
anna
d67a21f788 redundant cast: ignore for lambda casts with serializable/intersections (IDEA-105839) 2013-04-22 18:00:30 +02:00
anna
11f81e0be7 accept this refs inside anonymous classes in java 8 interfaces (IDEA-105892) 2013-04-22 15:50:32 +02:00
anna
497644d544 method refs: collect substitution from type parameter's extends list (IDEA-104314) 2013-04-01 20:36:27 +02:00
anna
cb99f86169 AIOOBE IDEA-103980
(cherry picked from commit 235e1ab6ff11856c91e6c5afded3209879ac473e)
2013-03-27 19:02:37 +01:00
anna
ec801909f9 graph inference: take into account present type args during graph inference (IDEA-103023)
(cherry picked from commit e9e05d9d47210f6e315cef233f8b5b33192df7fc)
2013-03-21 10:40:44 +01:00
Roman Shevchenko
2ab88505d2 Annotation applicability highlighting reworked 2013-03-13 10:23:19 +01:00
anna
d7c5ecacdd constructor refs: decline abstract classes (IDEA-102392) 2013-03-04 16:03:07 +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
6308a651a2 lambda/method refs: inference exception variables (initial) 2013-02-27 12:19:40 +01:00
anna
4bf90bf26d lambda: testdata 2013-02-26 21:20:52 +01:00
anna
e48f61bf4d method refs: test data to check enum/interface/annotation not accepted; isAcceptable checks on Array types 2013-02-26 20:38:07 +01:00
anna
2ceabcf7ba method refs: super::abstract method 2013-02-26 19:51:03 +01:00
anna
7333331a42 method refs: decline constructor refs on array ref with inapplicable substitutor 2013-02-26 19:51:02 +01:00
anna
23056b8d20 method refs: patch getClass return value in the same way it is done in PsiMethodCallExpression 2013-02-26 19:51:01 +01:00
anna
a41b5c6f85 support method/constructor refs on array types 2013-02-26 16:30:11 +01:00
anna
96abac54cc method refs: treat boxed types as with anonymous 2013-02-26 16:30:10 +01:00
anna
ed8986937e method refs: compilation error when static method is accept through instance reference 2013-02-26 14:19:16 +01:00
anna
af83c60af8 constructor refs: forbid outer as implicit receiver in non-static inner class 2013-02-26 14:19:15 +01:00
anna
d20905d2d5 constructor refs: forbid default constructors for inner classes 2013-02-26 14:19:15 +01:00
anna
33a583584b do not apply substitutor twice (IDEA-101752) 2013-02-25 18:44:14 +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
25220f5f46 method refs: accept generic methods in functional interfaces testdata 2013-02-21 20:21:50 +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