Commit Graph

51 Commits

Author SHA1 Message Date
Anna.Kozlova
dcbb728074 testdata for IDEA-153076 2016-03-16 15:35:39 +01:00
Anna Kozlova
7cfcb1bb69 testdata based on IDEA-152768 2016-03-14 17:48:06 +01:00
Anna Kozlova
8b16402ca3 overload resolution: proceed with additional constraints when qualifier type is calculated (IDEA-151409) 2016-02-19 19:18:43 +01:00
Anna Kozlova
779d43a6df testdata for IDEA-151823 2016-02-19 19:18:43 +01:00
Anna Kozlova
a6625994fb overload resolution: don't skip errors from another context (IDEA-151119) 2016-02-02 14:38:40 +03:00
Anna Kozlova
a035c14d75 overload resolution: don't include constraints on functional expressions into applicability check during overload resolution (IDEA-150745) 2016-01-26 17:30:03 +03:00
Anna Kozlova
a166bd1059 overload resolution: infer most specific agains formal param types substituted against site substitutor, including param bounds (IDEA-150773) 2016-01-25 18:52:15 +03:00
Anna Kozlova
883f7f3f39 overload resolution: apply site substitution before potential compatibility check (IDEA-150807) 2016-01-25 18:52:15 +03:00
Anna Kozlova
3baa03058b overload resolution: ensure all list of parameters is checked during most specific check of varargs methods (IDEA-150224) 2016-01-11 16:36:11 +01:00
Anna Kozlova
d9aeacbf48 overload resolution: don't prefer generic to raw substitution (IDEA-149289) 2015-12-28 10:27:00 +01:00
Anna Kozlova
c81d887251 ensure potential compatible for pertinent to applicability: when number of parameters is wrong methods which are not potentially compatible are not filtered (IDEA-149103) 2015-12-09 19:28:03 +01:00
Anna Kozlova
b580d8eccb AIOOBE 2015-12-03 19:11:09 +01:00
Anna Kozlova
e8111b751e new overload resolution: don't treat array type of functional interfaces as functional interface (IDEA-148726) 2015-12-02 17:56:08 +01:00
Anna Kozlova
878ac5560e overload resolution: boxing should ignore null types (IDEA-148692) 2015-11-30 19:45:19 +01:00
Anna Kozlova
621795bbee isApplicability check based on pertinentToApplicability 2015-11-30 15:11:41 +01:00
Anna Kozlova
169b42916e new inference: don't treat void as primitive type to boxing 2015-11-25 12:25:02 +01:00
Anna Kozlova
2d21b7777e method reference: don't start containing class parameter type inference for receiver-reference; corresponding substitutor should be already known (IDEA-146604; IDEA-147223) 2015-11-03 17:10:58 +01:00
Anna Kozlova
d13663483d overload resolution: choose one of overload equivalent abstract methods arbitrarily (IDEA-146261) 2015-10-12 20:15:40 +02:00
Anna Kozlova
c000624704 overload resolution: treat default methods as abstract; don't include static interface methods in conflict resolution when target expression type does not correspond to the containing interface (IDEA-146055) 2015-10-07 19:36:05 +02:00
Anna Kozlova
197110ff95 overload resolution: provide type parameter bounds with site substitutor to correctly compare types during most specific check (IDEA-144463) 2015-10-02 12:05:27 +02:00
Anna Kozlova
c111105d30 cache diamond inference results 2015-09-30 10:59:13 +02:00
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