Commit Graph

715 Commits

Author SHA1 Message Date
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
Anna Kozlova
4e9f79945c ensure static method inherit default if container classes are inheritors 2015-05-17 17:39:18 +02:00
Anna Kozlova
ad840dea8a redundant cast: don't warn if functional expression corresponds to another interface method (IDEA-140218) 2015-05-13 14:39:06 +02:00
Anna Kozlova
fb0495e4a4 nested conditional expressions: don't require nested to be poly if outer is not 2015-05-13 11:41:23 +02:00
Anna Kozlova
4a63204f8b don't open capture if reference expression is returned from lambda expression (IDEA-139089) 2015-05-12 21:42:53 +02:00
Anna Kozlova
f9fd72ebac captured wildcard in subtyping constraints: use upper bound only (IDEA-139046) 2015-05-12 17:07:07 +02:00
Anna Kozlova
8b320ba8a7 disjunction type equals/hashCode, essential for new inference (IDEA-140150) 2015-05-12 11:39:47 +02:00
Anna Kozlova
90e240041a functional expression type: ensure no capture conversion is performed over target type of cast expression (IDEA-139824) 2015-05-11 18:04:30 +02:00
Anna Kozlova
570a188199 method refs: non-raw receiver type should influence collected constraints (IDEA-140002) 2015-05-11 18:04:29 +02:00
Anna Kozlova
84a06d86a9 testdata for IDEA-139875 2015-05-04 15:01:34 +02:00
Anna Kozlova
e86c7dcb25 new inference: assert that no resolve is performed on the "inference-in-progress" reference 2015-04-30 09:47:12 +02:00
Anna Kozlova
3c5b94f461 testdata to check additional constraints 2015-04-29 19:18:19 +02:00
Anna Kozlova
c411468b07 new inference: skip lambda return expression additional constraints during overload resolution 2015-04-29 18:41:34 +02:00
Anna Kozlova
02e86e0ab9 static interface method: if called on wrong qualifier mark as static problem (IDEA-139651) 2015-04-28 13:04:57 +02:00
Anna Kozlova
b0a5c89d74 test data for nested overloaded method calls in lambda body 2015-04-28 10:05:53 +02:00
Anna Kozlova
1233bccf4e new inference: avoid prohibit cashing, don't check exceptions during overload resolution instead (IDEA-139531) 2015-04-27 17:26:24 +02:00
Anna Kozlova
553ad77e46 overload resolution: reject java 8 varargs methods when they are checked by fixed arity and number of parameters doesn't match 2015-04-24 20:33:40 +02:00
Anna Kozlova
f5cec5e24a intersection in cast type: repeat interface, different parameterization checks 2015-04-20 10:19:22 +02:00
Anna Kozlova
232b479b23 testdata for IDEA-139318 2015-04-16 20:30:37 +02:00
Anna Kozlova
09f4d7ea1f detect expected type by parent for nested array initializers (IDEA-139280) 2015-04-16 20:30:31 +02:00
Anna Kozlova
fd11949634 new inference: accept inferred equals bounds even when additional constraints lead to failure to get more appropriate error message (IDEA-139275) 2015-04-16 20:30:29 +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
6047478cae redundant cast: do not raise if result in bad return type in lambda expression (IDEA-138927) 2015-04-08 21:14:33 +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
dfcebe315b new inference: check bounds problems for all variables acceptable in current context (IDEA-138407); reject complicated dependencies (see JDK-8039299) 2015-04-02 21:19:54 +02:00
Anna Kozlova
80e3760c69 redundant cast: ensure lambda return statements are not mixed with those from containing method (IDEA-138724) 2015-04-02 18:06:41 +02:00