Commit Graph

50 Commits

Author SHA1 Message Date
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
Anna Kozlova
a060e747ab lambda: return type void-compatibility checks extracted 2012-08-20 15:26:45 +04:00
Anna Kozlova
1fa0a6ade4 lambda: void return type compatibility (initial); functional interfaces without method params error messages 2012-08-17 22:45:25 +04:00
Anna Kozlova
321d3b9dd0 lambda: check all return expressions for constraints 2012-08-17 22:45:24 +04:00
Anna Kozlova
3ac6e57c77 lambda (IDEA-90043) 2012-08-17 17:49:41 +04:00
Anna Kozlova
5ba5425a54 lambda: infer from return type; cyclic inference stop 2012-08-13 11:29:40 +04:00
Anna Kozlova
bee0bd2963 lambda effectively final: ignore variables defined inside lambda (IDEA-89818) 2012-08-07 20:17:00 +04:00
anna
7f8362d025 lambda: tests 2012-07-20 18:59:19 +02:00
anna
01aefae9db lambda: use wildcard bound for inferred param 2012-07-20 18:59:19 +02:00
anna
c3276bd56e lambda: return type checks initial 2012-07-20 18:59:18 +02:00
anna
2d80237442 lambda: effectively final 2012-07-20 11:06:23 +02:00
anna
812b9a72ea lambda: initial is assignable check; effectively final; acceptable context 2012-07-19 21:18:30 +02:00
anna
f90fadbd52 lambda: infer lambda param types in method call, return statement context 2012-07-19 18:44:23 +02:00
anna
d35061a610 lambda conflict resolve: check lambdas on per-params basis 2012-07-19 16:13:19 +02:00
anna
5bb4a61bb9 lambda: inference param types for assignment and cast context 2012-07-19 12:15:41 +02:00
anna
507a7bbd48 lambda: check interface functional 2012-07-18 11:45:29 +02:00