Commit Graph

653 Commits

Author SHA1 Message Date
Anna Kozlova
75c14f25b6 testdata for IDEA-138752 2015-10-05 11:51:30 +02:00
Anna Kozlova
4ed1c43acf testdata for IDEA-140686 2015-10-02 20:32:08 +02:00
Anna Kozlova
2a27f86b79 new inference: don't clear foreign caches - remove only expressions which were added 2015-10-02 20:32:07 +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
e5979eaa35 diamonds: ensure new expression with diamond is treated as poly expression; ensure that site substitutions for constructor refs are ignored as they always contain raw substitutions 2015-09-30 17:35:12 +02:00
Anna Kozlova
c111105d30 cache diamond inference results 2015-09-30 10:59:13 +02:00
Anna Kozlova
d5a31ea205 inference: incorporation with capture and fresh variables (IDEA-145566) 2015-09-28 20:18:34 +02:00
Anna Kozlova
2da2ff75fa don't reject static method of interfaces imported via static imports (IDEA-145504) 2015-09-25 15:43:09 +03: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
peter
c70ab42653 fix finding lambdas implementing JDK interfaces 2015-09-23 13:48:55 +02:00
Anna Kozlova
8b322fadb7 static methods of interfaces: accept calls on type parameters with exact one interface bound (IDEA-145269) 2015-09-18 14:37:14 +03:00
Anna Kozlova
76c7aaf56e new inference inside enum constants (IDEA-145211) 2015-09-17 13:42:49 +03:00
Anna Kozlova
99a54a3e76 resolve/overload resolution: collect static methods of interface called on foreign class/instance but filter them out during overload resolution (IDEA-145187) 2015-09-17 13:42:45 +03:00
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