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
Anna Kozlova
47ae95a968
ArrayType: 🆕 ensure type reifiable
2015-01-31 16:13:14 +03:00
Anna Kozlova
a6d8e976fa
testdata for ClassType::<TypeArguments>new method references: ensure compilation error if ClassType is raw but type arguments are given
2015-01-31 16:13:13 +03:00
Anna Kozlova
82246db879
TypeName::Identifier method reference applicability when TypeName denotes interface
2015-01-31 16:13:13 +03:00
Anna Kozlova
e41b02e277
ignore type parameters (arguments) in non-generic method references
2015-01-31 16:13:12 +03:00
Anna Kozlova
8886622b5c
method references: fix type to search (site substitution) for ReferenceType::Identifier references, where ReferenceType is raw (IDEA-135792)
2015-01-30 22:28:02 +03:00
Anna Kozlova
012e57d2ea
lambda isValueCompatible check: ensure throws is not treated as normal completion (IDEA-135581)
2015-01-26 20:19:16 +03:00
Anna Kozlova
af7da7a8f4
incompatible parameter types in lambda expression message expanded (IDEA-134941)
2015-01-07 17:10:09 +01:00
Anna Kozlova
8ce9831489
bad return type in lambda expression: requited type added; range corrected (IDEA-134942)
2015-01-07 16:07:27 +01:00
Anna Kozlova
c11d64ac60
new inference: distinguish return type type parameters and current session inference variables (IDEA-135001)
2015-01-07 15:34:27 +01:00
Anna Kozlova
b57746c55e
collect exceptions by call arguments (IDEA-134808)
2014-12-29 18:57:40 +01:00
Anna Kozlova
658607d9c2
new overload resolution: reject complete normally when last instruction is return (IDEA-134808)
2014-12-29 18:57:39 +01:00
Anna Kozlova
f99580f6a5
enable delegate for interfaces in 1.8
2014-12-23 19:32:29 +01:00
Anna Kozlova
0be4af00e0
new overload resolution: block can complete normally if the last statement could throw exception (IDEA-134103)
2014-12-17 20:51:47 +01:00
Anna Kozlova
7343c62b7e
new inference: infer exceptions for inner lambda body calls (IDEA-134225)
2014-12-17 20:13:46 +01:00
Anna Kozlova
a026cc2dd1
new overload resolution: check only functional arguments in isFunctionalTypeMoreSpecific (IDEA-134328)
2014-12-17 20:13:42 +01:00