Commit Graph

25 Commits

Author SHA1 Message Date
Anna Kozlova
fc288cf04d new inference: don't add primitive equals bounds 2015-11-24 20:00:29 +01:00
Anna Kozlova
138bd5a034 new inference: provide diagnostics on failed inference (strict subtyping constraints); don't resolve vars before incorporate - this way captures won't be opened too early 2015-11-24 10:30:21 +01:00
Anna Kozlova
61f120b30e new overload resolution: first check that collected methods are potentially compatible with args; for generic methods without specified type arguments this already means that they are applicable; for non generic methods (or raw method calls) expressions should be compatible with parameter types (formal parameter types = actual types as substitutor is known) (IDEA-147798) 2015-11-20 18:22:02 +01:00
Anna Kozlova
30a12275a2 lambda: highlight containing method ambiguity on method name: this avoids lots of lines of lambda body to be highlighted and it would show errors even if lambda body contains errors actually caused by the ambiguity on the parent level (IDEA-141580) 2015-06-18 17:54:23 +03:00
Anna Kozlova
af7da7a8f4 incompatible parameter types in lambda expression message expanded (IDEA-134941) 2015-01-07 17:10:09 +01:00
Anna Kozlova
8ce9831489 bad return type in lambda expression: requited type added; range corrected (IDEA-134942) 2015-01-07 16:07:27 +01:00
Anna Kozlova
145f701bc1 new overload resolution: integrate isPotentiallyCompatible in isApplicable checks 2014-11-26 17:42:30 +01:00
Anna Kozlova
a4deb4da3d new inference: isAcceptable for lambda 2014-02-20 20:27:40 +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
481bc252f3 switch tests on new inference
(cherry picked from commit d2cbf3f2833104c3a0381059b0d6ef8ac0b3c94c)
2013-11-25 16:47:38 +01: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
Roman Shevchenko
2ab88505d2 Annotation applicability highlighting reworked 2013-03-13 10:23:19 +01:00
anna
ec1fcb263f lambda: inference from formal params fixed (IDEA-101176) 2013-02-18 18:15:18 +01:00
anna
4cbc38008a lambda: incompatible lambda parameters type check fixed according to wildcards (IDEA-99073) 2013-01-16 15:57:08 +01:00
Anna Kozlova
f73177c04e lambda: correct message when lambda params are incompatible (IDEA-91016) 2012-09-04 21:05:05 +04:00
Anna Kozlova
4692f23230 lambda: forbid inference method params types from return value 2012-08-22 15:46:13 +04:00
Anna Kozlova
d2b956c808 lambda: check formal types for equality 2012-08-20 21:47:21 +04:00
Anna Kozlova
5ba5425a54 lambda: infer from return type; cyclic inference stop 2012-08-13 11:29:40 +04: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
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