Commit Graph

568 Commits

Author SHA1 Message Date
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
Anna Kozlova
dfc1f6b698 testdata for IDEA-137694 2015-03-16 20:14:18 +01:00
Anna Kozlova
027943681f lambda: check assignment for proper types (IDEA-137564) 2015-03-12 19:14:19 +01:00
Anna Kozlova
80bc7dad79 preprocess substitutor for receiver type exact references during reduction (IDEA-137417)
(cherry picked from commit 8515ed9707c6a5a61a7d908024247e523b89f08f)
2015-03-11 20:31:42 +01:00
Anna Kozlova
bece20cb9f testdata for IDEA-137277
(cherry picked from commit d98f44e277ae128ef6fb279a4e0dd738f9162939)
2015-03-11 20:27:58 +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
0361291c41 testdata for IDEA-136840 2015-02-27 12:55:14 +01:00
Anna Kozlova
c0dee3fb75 method refs: ensure non-resolved method refs are not marked as exact (EA-59172 - assert: TypeConversionUtil.reportHierarchyInconsistency) 2015-02-25 20:34:39 +01:00
Anna Kozlova
3f27bb4d63 new inference: proceed nested calls of the same method with dependencies between inference variables from different calls (IDEA-136716; IDEA-135286) 2015-02-25 17:32:10 +01:00
Anna Kozlova
e63a2de86f new inference: nothing should be cached during overload resolution (IDEA-136759) 2015-02-24 19:18:57 +01:00
Anna Kozlova
ab8c437a33 method refs: simplify if first parameter is a receiver for method reference (IDEA-136882) 2015-02-24 15:04:54 +01:00
Anna Kozlova
94787a5f67 testdata for IDEA-136887 2015-02-24 15:04:53 +01:00
Anna Kozlova
aa1b472dff mew inference: checked exceptions with incompatible bounds 2015-02-24 15:04:52 +01:00
Anna Kozlova
4819405128 ensure resolve is not cached during overload resolution 2015-02-23 21:39:38 +01:00
Anna Kozlova
8b7325aae5 testdata for IDEA-136856 2015-02-23 21:39:37 +01:00
Anna Kozlova
0c76e675ec testdata for IDEA-134277 2015-02-20 22:12:23 +01:00
Anna Kozlova
9fc640a8f0 ensure correct expression is checked during read before write variable check (IDEA-135937) 2015-02-20 21:37:28 +01:00
Anna Kozlova
ab09470050 method refs: missed super substitutor (IDEA-136717) 2015-02-19 20:40:49 +01:00
Anna Kozlova
11e81ab9d5 new inference: provide lambda incompatibility message based on failed inference (IDEA-131882) 2015-02-19 18:07:59 +01:00
Anna Kozlova
b06817081b new inference: reject to infer variables if it's upper bound doesn't agree with lower/equal bound (when present) 2015-02-19 18:07:55 +01:00
Anna Kozlova
7bdb789b45 new inference:
reject inference if lower and equals bounds do not agree;
 -> inference variable should fill extends list types with it's upper bounds as they are correctly substituted with session's inference variables, otherwise incorporation up-up rule could get refs to initial type parameter instead of correct inference variable
2015-02-19 18:07:54 +01:00
Anna Kozlova
106ba612ce new inference: ignore return type constraints during method reference conflict resolving; work around raw type received from constructor reference given on raw type to be treated as diamond 2015-02-18 17:18:46 +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
3163706022 testdata for IDEA-136581 2015-02-16 17:24:13 +01:00
Anna Kozlova
d2c06c0d0b testdata for IDEA-123987 2015-02-13 21:28:47 +01:00
Anna Kozlova
fc6e0f725d testdata for IDEA-124961 2015-02-13 21:28:46 +01:00
Anna Kozlova
952b8c7b9b testdata for IDEA-132379 2015-02-13 21:28:44 +01:00
Anna Kozlova
36b066ea54 testdata for IDEA-133935 2015-02-13 21:28:43 +01:00
Anna Kozlova
853f9c567f new inference: stop collecting constraints if target type is proper (IDEA-136412) 2015-02-13 18:54:04 +01:00
Anna Kozlova
465879cacf most specific: infer specific if method is generic even if type arguments are explicitly provided 2015-02-13 18:54:03 +01:00
Anna Kozlova
925e9d1610 pertinent to applicability: reject nested lambdas if they target non proper type 2015-02-13 18:54:02 +01:00
Anna Kozlova
344379d2f4 lambda: accept? inference variables as target type for lambda expression during lambda constraint reduction (IDEA-136435) 2015-02-12 21:15:32 +01:00
Anna Kozlova
ed0ff7c07f most specific check: ensure that functional types are specifically checked when method is not generics (IDEA-136287) 2015-02-11 19:05:41 +01:00
Anna Kozlova
502dd423d9 static interface method call: ignore static imports if call is qualified (IDEA-136077) 2015-02-11 19:05:40 +01:00
Anna Kozlova
a6ef814ce8 java 8 interfaces: default/static preferences (IDEA-136171) 2015-02-10 17:55:56 +01:00
Anna Kozlova
b0a9de51c9 testdata to fix javac behaviour (1.8u40) 2015-02-05 10:27:32 +03: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