Commit Graph

690 Commits

Author SHA1 Message Date
Anna Kozlova
f61de7a241 method refs: ensure inference from captured return type (IDEA-145152) 2015-09-16 18:53:31 +03:00
Anna Kozlova
a811f9668e new inference for enum constants (IDEA-144973) 2015-09-10 15:55:05 +03:00
Anna Kozlova
7f043d56d1 testdata for IDEA-144840 2015-09-07 15:50:24 +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
f741a6a366 testdata for IDEA-132253 2015-09-03 17:22:31 +03:00
Anna Kozlova
eb638c67d7 testdata for IDEA-133920 2015-09-03 17:22:29 +03:00
Anna Kozlova
8f4768f3b3 testdata for IDEA-136401 2015-09-03 17:22:27 +03:00
Anna Kozlova
f1919cf246 testdata for IDEA-144386 2015-09-03 17:22:25 +03:00
Anna Kozlova
3893b9f6d4 new inference: collect additional constraints from lambda return expressions when lambda parameters are already fixed; process constraints without input variables before others, so their 'return' expressions could influence next rounds; testdata (IDEA-144596) 2015-09-03 17:22:22 +03:00
Anna Kozlova
984b65ef65 new inference: incorporation with capture: treat type param's extends bounds as one as glb (IDEA-142145) 2015-09-02 17:04:31 +03:00
Anna Kozlova
9a7d951e1e new inference: caching resolve result during getTargetType inference (IDEA-142733; IDEA-140035; IDEA-133385) 2015-09-02 17:04:29 +03:00
Anna Kozlova
ed06d3ff72 preserve captured wildcards during non wildcard parameterization (IDEA-132690) 2015-09-01 16:30:52 +03:00
Anna Kozlova
21e2fd41c0 non wildcard parameterization: workaround problems caused by different parameterizations of the same class during glb algorithm (IDEA-132690) 2015-09-01 16:30:50 +03:00
Anna Kozlova
14cfc1680c unrelated defaults false negative (IDEA-144518) 2015-08-31 19:09:55 +03:00
Anna Kozlova
2df4481722 fix intersection types in receiver position (IDEA-144472) 2015-08-31 19:09:52 +03:00
Anna Kozlova
98408c72f6 overload resolution: reject more specific inference contradicting site substitution 2015-08-26 12:08:47 +03:00
Anna Kozlova
a93ad570ca semantic cast to &Serializable for functional expressions is not redundant even if expression is inside parenthesis (IDEA-143922) 2015-08-20 19:31:05 +02:00
Anna Kozlova
c0de8d22c6 new inference: reject array upper bounds which contradict with another class type bound (IDEA-144159) 2015-08-20 19:31:03 +02:00
Anna Kozlova
08c0a88251 functional type: find common super type of intersection type's conjuncts (IDEA-144145) 2015-08-20 16:01:58 +02:00
Anna Kozlova
6b08a2da04 testdata for IDEA-140035 2015-08-19 12:34:39 +02:00
Anna Kozlova
4518420113 don't correct substitution if not applicable, e.g. for unresolved functional types 2015-08-18 19:15:37 +02: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
0da30526fd error for not accessible types mentioned by inferred functional type (IDEA-143417) 2015-08-18 12:34:31 +02:00
Anna Kozlova
8c2a945f80 testdata for IDEA-143390 2015-08-12 08:14:31 -07:00
Anna Kozlova
1df6b8e711 new inference: ensure erased target type if substitutor was raw (IDEA-143183) 2015-07-29 10:02:59 +02:00
Anna Kozlova
3a9f429d3e method references on lambda parameters for incomplete code (EA-66008 - assert: InferenceSession.collectApplicabilityConstraints) 2015-07-22 12:34:09 +02:00
Roman Shevchenko
32a6761ede Cleanup (i18n; text corrected) 2015-07-20 12:06:25 +03:00
Roman Shevchenko
de416d4f7f Cleanup (test moved to a correct location) 2015-07-18 23:13:56 +03:00
Anna Kozlova
7bec688369 lambda: don't reject value compatibility for lambdas with control flow problems inside (IDEA-142107) 2015-07-14 18:38:43 +03:00
Anna Kozlova
8a9e5ae9db A.super.field should not accept super interface (IDEA-140646) 2015-07-07 18:18:30 +03:00
Anna Kozlova
303edac35e functional type erasure: check if resulted type functional (IDEA-142341) 2015-07-07 14:55:14 +03:00
Anna Kozlova
024f917277 method refs: return type check fix for raw constructor (IDEA-142302) 2015-07-06 17:37:31 +03:00
peter
1294ec93f4 IDEA-140728 Suggest to automatically fill parameter of Stream#collect() method calls with standard Collectors instances 2015-07-03 18:25:08 +02:00
Anna Kozlova
fe400fc988 method refs: infer 'diamond' if constructor ref type is raw (IDEA-142142) 2015-07-02 20:08:10 +03:00
Roman Shevchenko
d926c3cca3 Cleanup (highlighting tests unified) 2015-07-01 00:21:44 +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
6fd53851a0 report unrelated defaults when 2 default methods provided; abstract/default otherwise (IDEA-141714) 2015-06-23 12:05:22 +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
74f9ac5a46 method ref: don't check method reference qualifier against functional interface (IDEA-141343) 2015-06-11 16:46:12 +03:00
Anna Kozlova
9bc2885c4c new inference: collect during inference substitutor from inference variables and replace them with type parameters at the very end, excluding foreign variables so e.g. no essential dependency would get overridden by type parameter from sibling call (IDEA-140387) 2015-06-03 22:26:28 +02: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
7b0c5b6d05 new inference: check equals/upper/low bounds consistency 2015-05-29 14:48:27 +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
f18948a3a2 testdata for IDEA-140586 2015-05-21 21:53:42 +02:00
Anna Kozlova
db72cccc97 method refs: missed qualifier substitution for return type (IDEA-140539) 2015-05-21 14:11:26 +02:00
Anna Kozlova
6fdd5592d5 testdata for IDEA-67842 2015-05-21 10:00:42 +02:00
Anna Kozlova
1d5ff33cbe extend check for enclosing instance for java 8 default methods in interfaces (IDEA-140492) 2015-05-20 13:49:51 +02:00
Anna Kozlova
2fc7821d06 forbid native in interfaces (IDEA-140491) 2015-05-20 13:49:49 +02:00
Anna Kozlova
4f0f3ff7fc new inference: include additional constraints to check applicability (IDEA-140355) 2015-05-19 11:07:45 +02:00