Commit Graph

606 Commits

Author SHA1 Message Date
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
Anna Kozlova 3b40026df9 testdata for IDEA-138696 2015-04-02 18:06:40 +02:00
Anna Kozlova c08649b355 new overload resolution: avoid second conflict resolution for the same conflicts, e.g. because resulted array would be available inside guard of ResolveCache (IDEA-138596) 2015-04-02 18:06:39 +02:00
Anna Kozlova b0db0e5444 strictfp in interfaces for java 1.8 (IDEA-138501) 2015-03-31 13:48:27 +02:00
Anna Kozlova 1f50640671 lambda isValueCompatible: ensure that normal completion is impossible for infinite loops (IDEA-137848) 2015-03-20 20:08:51 +01: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 48619015ea testdata for IDEA-137893 2015-03-19 20:46:57 +01:00
Anna Kozlova dd1b0c2796 method reference: ignore already handled exceptions (IDEA-137694) 2015-03-18 14:09:58 +01:00
Anna Kozlova 4ba0890182 testdata for IDEA-137795 2015-03-18 14:09:56 +01:00
Anna Kozlova 4603022670 testdata for IDEA-137668 2015-03-16 20:14:20 +01:00