Commit Graph

30 Commits

Author SHA1 Message Date
Anna Kozlova
7d92ec966f new overload resolution: reject candidates with applicability level less than asked (IDEA-145505) 2015-09-24 19:58:55 +03:00
Anna Kozlova
962225c53e isApplicable for raw qualifiers: it's enough to erasure left type, then right type should be able to assign there, so method reference type/lambda type won't be lost during erasure (IDEA-144547) 2015-09-04 14:10:35 +03:00
Anna Kozlova
5f45a046ea testdata for IDEA-106848 2015-09-03 20:30:59 +03:00
Anna Kozlova
a1601f1d22 deoptimize so overriding methods from object marked as abstract won't get lost (IDEA-143141) 2015-08-18 12:34:42 +02:00
Anna Kozlova
303edac35e functional type erasure: check if resulted type functional (IDEA-142341) 2015-07-07 14:55:14 +03:00
Anna Kozlova
7f0692d0f2 lambda valueCompatible check: don't evaluate constant expressions which could lead to reference resolution during overload check = caching possible wrong refs (IDEA-141808) 2015-06-24 11:11:03 +03: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
fc175ce1a8 overload resolution: compare functional interfaces for specific if they are not assignable (IDEA-140987) 2015-06-02 17:58:59 +02:00
Anna Kozlova
a21990d31e overload resolution with varargs: don't prefer promitive varargs when no arg is provided (IDEA-140759) 2015-05-27 22:01:03 +02:00
Anna Kozlova
4f0f3ff7fc new inference: include additional constraints to check applicability (IDEA-140355) 2015-05-19 11:07:45 +02:00
Anna Kozlova
84a06d86a9 testdata for IDEA-139875 2015-05-04 15:01:34 +02:00
Anna Kozlova
4ee27fecce can complete normally for nested try-with-resources (IDEA-138961) 2015-04-09 17:02:25 +02:00
Anna Kozlova
822934d37a new overload resolution: do not accept primitive type as target of second search (IDEA-138839) 2015-04-08 12:05:58 +02:00
Anna Kozlova
858119b775 new overload resolution: remember candidate when argument type is to be calculated (IDEA-137921) 2015-03-20 20:08:50 +01:00
Anna Kozlova
1b7e4859be overload resolution: reject methods with wrong number of parameters even if vararg method is present (IDEA-131093) 2015-02-27 12:55:15 +01:00
Anna Kozlova
895b40432c lambda: can complete normally: skip empty finally blocks at lambda body end (IDEA-136628; IDEA-135791) 2015-02-17 19:56:04 +01:00
Anna Kozlova
a6ef814ce8 java 8 interfaces: default/static preferences (IDEA-136171) 2015-02-10 17:55:56 +01:00
Anna Kozlova
27e575b967 overload resolution for exact method references: ensure param types are equal in case non-generic methods 2015-02-01 16:30:45 +03:00
Anna Kozlova
867a714293 overload resolution for explicitly typed lambda: poly wins over primitive 2015-02-01 16:07:03 +03:00
Anna Kozlova
dbdc890cd1 lambda expression isCongruent: ensure target function type has no type parameters 2015-02-01 12:54:19 +03:00
Anna Kozlova
012e57d2ea lambda isValueCompatible check: ensure throws is not treated as normal completion (IDEA-135581) 2015-01-26 20:19:16 +03:00
Anna Kozlova
658607d9c2 new overload resolution: reject complete normally when last instruction is return (IDEA-134808) 2014-12-29 18:57:39 +01:00
Anna Kozlova
0be4af00e0 new overload resolution: block can complete normally if the last statement could throw exception (IDEA-134103) 2014-12-17 20:51:47 +01:00
Anna Kozlova
a026cc2dd1 new overload resolution: check only functional arguments in isFunctionalTypeMoreSpecific (IDEA-134328) 2014-12-17 20:13:42 +01:00
Anna Kozlova
145f701bc1 new overload resolution: integrate isPotentiallyCompatible in isApplicable checks 2014-11-26 17:42:30 +01:00
Anna Kozlova
bcdb87573e new inference: do not cache control flow during conflict resolution (IDEA-130226) 2014-10-07 18:25:03 +02:00
Anna Kozlova
aedcba169d do not drill inside lambda body during return statement search (IDEA-130123) 2014-09-29 14:08:36 +02:00
Anna Kozlova
29e00ab329 testdata for IDEA-102800 2014-09-08 15:37:38 +04:00
Anna Kozlova
9097465506 new overload resolution: void value compatibility to reject improperly shaped implicitly typed lambdas 2014-09-03 16:54:34 +04:00
Anna Kozlova
5fc5b2b300 new overload resolution: reject explicitly typed lambda to be pertinent to applicability if any of its return expressions is not 2014-09-03 16:54:33 +04:00