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