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
Anna Kozlova
1ed0901d4b
new inference: reject equals bounds contradicting lower bounds
2014-12-17 09:57:48 +01:00
Anna Kozlova
482de672ef
method references: site substitution for method references without receiver (IDEA-134261)
2014-12-12 20:57:02 +01:00
Anna Kozlova
145f701bc1
new overload resolution: integrate isPotentiallyCompatible in isApplicable checks
2014-11-26 17:42:30 +01:00
Anna Kozlova
68cc2ec0a2
method refs: mark as potentially incompatible expression based reference of non-static method with incorrect number of parameters; contradict spec (15.12.2.1)
2014-11-26 17:39:25 +01:00
Anna Kozlova
3f0ce40440
testdata for IDEA-127124
2014-11-25 19:23:29 +01:00
Anna Kozlova
897609bd68
new inference: avoid resolveGenericMethod on new expressions as diamond types are expanded and cached on class reference (IDEA-133297)
2014-11-25 13:36:23 +01:00
Anna Kozlova
fa29801a8a
method refs: varargs methods should be checked for parameter numbers (IDEA-133173)
2014-11-20 11:49:09 +01:00
Anna Kozlova
05ff6e8a83
workaround for opened captures (IDEA-132717)
2014-11-12 19:37:59 +01:00
Anna Kozlova
983808535d
testdata for IDEA-132725
2014-11-12 19:37:58 +01:00
Anna Kozlova
89d1df1dc0
redundant casts in lambda return expressions (IDEA-132723)
2014-11-12 13:13:33 +01:00