Commit Graph

715 Commits

Author SHA1 Message Date
anna
cf0e5a1051 method refs: check more specific by return type; check used method in test via unused symbol inspection 2012-10-02 21:15:29 +02:00
anna
55c8b4db6c method refs: testdata 2012-10-02 21:15:28 +02:00
anna
ff500e1468 method refs: choose more specific return type when checking more specific functional interface 2012-10-02 21:15:27 +02:00
anna
65983d0060 method refs: accept qualified receivers when called over raw type 2012-10-02 21:15:27 +02:00
anna
0e8ade2f40 method refs: allow reference parameters before method name 2012-10-02 21:15:26 +02:00
anna
9c796a4342 method refs: filter more specific 2012-10-02 18:00:45 +02:00
anna
b043a24ebf method refs: when no acceptable methods found force conflicts to be empty; raw refs corrected; check for static should be performed over inner class in case of constructors 2012-10-02 18:00:43 +02:00
anna
bd1f035718 method refs: ambiguity with method refs inside 2012-10-01 20:52:39 +02:00
anna
b3029c4f46 method refs: inner classes from hierarchy availability 2012-10-01 20:52:38 +02:00
anna
61ce8c8f12 method refs: inner classes constructors 2012-10-01 15:04:24 +02:00
anna
b7ca327ee3 method refs: testdata; varargs 2012-10-01 10:19:56 +02:00
anna
96482dd326 method refs: testdata 2012-10-01 10:19:55 +02:00
anna
37bf7fad42 method refs: resolve constructors; static problems 2012-09-28 18:53:24 +02:00
anna
ac4a96fc03 method refs: static testdata, apply qualifier substitutor 2012-09-28 10:11:46 +02:00
anna
b130fcba63 method refs: take qualifier's type arguments in account: raw types 2012-09-28 10:11:45 +02:00
anna
2cdfea8b61 method refs: take qualifier's type arguments in account 2012-09-28 10:11:44 +02:00
anna
bcebb55f60 method refs: ambiguity checks into resolver; testdata 2012-09-27 18:02:09 +02:00
anna
806d8384b4 method ref: initial ambiguity rules 2012-09-26 18:33:18 +02:00
anna
d1fbf297bc method ref: isAssignable check; resolve (initial) 2012-09-25 19:47:04 +02:00
anna
a617afe1fe method refs: turn highlighting on; check valid context 2012-09-25 19:47:01 +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
Anna Kozlova
2a91b03499 testdata for IDEA-90998 2012-09-06 19:17:34 +04:00
Anna Kozlova
262fcbafad extend lambda valid context: conditional expressions (IDEA-91140) 2012-09-06 19:10:16 +04:00
Anna Kozlova
d474aa3f1c lambda: take into account substitution interface with method -> functional interface;
do not infer return type parameters when lambda parameter type was calculated, no substitution caching here (IDEA-90875)
2012-09-06 13:07:11 +04:00
Anna Kozlova
f73177c04e lambda: correct message when lambda params are incompatible (IDEA-91016) 2012-09-04 21:05:05 +04:00
Anna Kozlova
d83b1f12c7 lambda: skip conditional condition during inference from return value 2012-09-04 21:05:03 +04:00
Anna Kozlova
2996ce4b20 lambda: simple inference in case of conditional expressions (IDEA-90812) 2012-09-03 21:27:11 +04:00
Anna Kozlova
c7781bb05f lambda: take care of diamonds 2012-09-03 18:27:49 +04:00
Anna Kozlova
8797c54ace lambda: get info for return types from type arguments 2012-09-03 12:42:35 +04:00
Anna Kozlova
b199a1b76c lambda & raw types 2012-08-31 18:40:56 +04:00
Anna Kozlova
1d0922ead8 lambda: lambda on vararg place 2012-08-31 15:34:20 +04:00
Anna Kozlova
2c05b4d750 lambda: functional interface can contain multiple default methods 2012-08-31 15:34:16 +04:00
Anna Kozlova
a386c22bc3 lambda check for ambiguity: prefer functional interfaces without type param dependencies (commented) 2012-08-28 12:20:49 +04:00
Anna Kozlova
ece63f3c92 correct lambda inference inside new expressions 2012-08-28 12:20:48 +04:00
Anna Kozlova
a85c808676 lambda: do not warn about unhandled exceptions from lambda on call site 2012-08-27 15:50:42 +04:00
Anna Kozlova
9c4504cfdf lambda: do not even try to infer from return value when value depends on params 2012-08-27 15:20:21 +04:00
Anna Kozlova
cf4b4e6831 eliminateWildcards -> GenericsUtil; lambda: eliminate wildcards before formal types declaration (IDEA-90578) 2012-08-24 21:24:08 +04:00
Anna Kozlova
4692f23230 lambda: forbid inference method params types from return value 2012-08-22 15:46:13 +04:00
Anna Kozlova
a5c50473a3 lambda: skip some cyclic inference cases 2012-08-21 17:06:23 +04:00
Anna Kozlova
a0d858fa5b lambda: effectively final parameters: copy in final variable if needed - never make implicitly final 2012-08-21 14:39:41 +04:00
Anna Kozlova
d2b956c808 lambda: check formal types for equality 2012-08-20 21:47:21 +04:00
Anna Kozlova
b6a278b60f lambda return type checks: consider void-compatible/value-compatible block 2012-08-20 16:59:18 +04:00
Anna Kozlova
122cccf567 lambda: correct error reporting according to b.50 2012-08-20 15:26:47 +04:00
Anna Kozlova
05c0cfbb5e lambda: accept Object when return type is void 2012-08-20 15:26:46 +04:00