Commit Graph

820 Commits

Author SHA1 Message Date
Anna.Kozlova
d85c70d870 invocation type inference: don't create fresh variables for all type parameters but only for those where wildcards are used in return type (IDEA-155627; IDEA-151220; IDEA-151387) 2016-05-06 18:00:16 +02:00
peter
20f69c8111 remove wrong capture treatment: the completion result is incorrect (IDEA-155188) 2016-05-03 14:25:59 +02:00
peter
80ad8e9ebd IDEA-154276 Suggest method references to constructors of implementing classes when Supplier<AnAbstractClass> is expected 2016-05-02 08:58:57 +02:00
Anna.Kozlova
b936f89275 redundant cast: ensure cast is not removed if operand changes it's type 2016-04-29 14:41:28 +02:00
Anna.Kozlova
f36501444c clear diamond inference errors when overload resolution fails 2016-04-28 11:39:38 +02:00
Anna.Kozlova
bebf4975e6 change signature: expand expr lambda to block lambda when exception should be caught; don't expand method ref to lambda when only unchecked exceptions were added (IDEA-152386) 2016-04-28 11:39:38 +02:00
peter
85601ec30c support captured types in incomplete overloaded lambda completion (IDEA-155188) 2016-04-26 10:23:35 +02:00
peter
3b725bc33e IDEA-155188 Lambda auto completion for incomplete overloaded method fails 2016-04-25 20:45:38 +02:00
Anna.Kozlova
e588d2285a highlighting: don't add warning for nested lambda when problem is inside upper level (IDEA-155192) 2016-04-25 14:41:56 +02:00
Anna.Kozlova
5d6351b1ec diamonds: don't accept inferred types when error appeared during inference (IDEA-154619) 2016-04-21 18:39:23 +02:00
Anna.Kozlova
e07b25baba testdata for IDEA-153701 2016-04-21 14:33:04 +02:00
Anna.Kozlova
401ec5dbfa redundant cast: restoring call by top level, let's search by arg list offset in order to avoid finding method calls from qualifiers 2016-04-20 17:49:29 +02:00
Anna.Kozlova
ee4f41b14c don't open captures on type computation (IDEA-154968) 2016-04-20 17:49:29 +02:00
Anna.Kozlova
2dead05e6b treeWalkUp: stop at member level to avoid skipping anonymous classes 2016-04-19 20:02:32 +02:00
Anna.Kozlova
c09caae28e treat conditional expressions with new expressions with diamonds inside as poly
EA-76546 - assert: InferenceSessionContainer.treeWalkUp
2016-04-19 19:05:54 +02:00
Anna.Kozlova
abf32b50d5 don't calculate type of method expression which is located on the left side of assignment - assignment is invalid anyway
(EA-77049 - assert: PsiMethodCallExpressionImpl$TypeEvaluator.fun)
2016-04-19 19:05:54 +02:00
Anna.Kozlova
4c06b785c0 testdata for IDEA-154861 2016-04-18 12:54:50 +02:00
Anna.Kozlova
43fc40c4a5 anonym -> lambda, redundant cast, redundant type args: process top level overloads (IDEA-152766);
rearrange utils
2016-04-15 18:43:24 +02:00
Anna.Kozlova
09f46115cf redundant cast: special processing for functional expressions as enum args (IDEA-154354) 2016-04-15 18:43:24 +02:00
Anna.Kozlova
320aeb7b5e inference: erasure functional type for raw substitutors (IDEA-154759) 2016-04-14 20:59:13 +02:00
Anna.Kozlova
f64bd14441 method refs: site substitution should not replace session setup (IDEA-154722) 2016-04-14 12:28:44 +02:00
Anna.Kozlova
d780e31bdf inference: ensure foreign variables do not participate in inference process, e.g. variables from method reference overload resolution (IDEA-154622) 2016-04-13 21:11:02 +02:00
Anna.Kozlova
9086115347 method ref: type parameter instantiation (IDEA-154645) 2016-04-13 12:30:54 +02:00
Anna.Kozlova
1466b0155e bad code green: reject return type constraint if unchecked conversion was applied during applicability check and return type is type parameter 2016-04-11 21:51:18 +02:00
Anna.Kozlova
9150e6fd4a clear error message (IDEA-154419) 2016-04-08 18:44:25 +02:00
Anna.Kozlova
a8ad27f8a9 no need to check unrelated concrete for same named constructors in the hierarchy (IDEA-154377) 2016-04-08 18:44:25 +02:00
Anna.Kozlova
0ed05632ff ensure non-initialized fields used inside lambdas are rejected if lambda is inside class initializer only (IDEA-154305) 2016-04-07 15:13:00 +02:00
Anna.Kozlova
3966e55bbf testdata for IDEA-154278 2016-04-06 21:17:37 +02:00
Anna.Kozlova
0ca2e9cdd6 don't pass erasure flag through inference process 2016-04-06 17:15:12 +02:00
Anna.Kozlova
1bc380f6fd overload resolution: skip static correctness check during overload resolution (IDEA-154187) 2016-04-06 12:51:57 +02:00
Anna.Kozlova
c35fa1891b if client iterates through candidates of call resolve results and start inference for one of them, then cached top level session should be rejected if it corresponds to another candidate 2016-04-06 12:51:57 +02:00
Anna.Kozlova
cd9c406260 don't cache substitutors during processing of all candidates (blinking red code) 2016-04-05 21:03:27 +02:00
peter
99bb53c9f6 no irrelevant java completion inside comments (IDEA-153683) 2016-04-04 16:42:04 +02:00
Anna.Kozlova
2f0bfeb404 testdata for IDEA-153999 2016-04-01 16:53:23 +02:00
Anna.Kozlova
c1c40665ce erasure type of new expression if diamonds were used and during applicability check unchecked conversion was applied (IDEA-154009) 2016-04-01 16:53:23 +02:00
Anna.Kozlova
e6426783b4 new inference: forget nested states when expressions were processed second time (IDEA-153897) 2016-03-30 21:02:16 +02:00
Anna.Kozlova
cc72bd0319 inference: restore probably partial raw inference as this way expected raw types are preserved and Objects won't be inferred in place where raw types were expected 2016-03-30 12:15:25 +02:00
Anna.Kozlova
d5613fae7f testdata for IDEA-153632 2016-03-29 21:17:55 +02:00
Anna.Kozlova
f139c4cef4 new inference: check provided lower bounds on type parameters, in case of fresh variables they declare the type hierarchy and otherwise constrains won't agree (IDEA-153642) 2016-03-29 16:51:50 +02:00
Anna.Kozlova
0e808d9aff highlight invalid method call: search for most probable argument-cause (IDEA-151202) 2016-03-24 15:58:41 +01:00
Anna.Kozlova
bf5cd076c1 new inference: avoid inferring partly raw types (in case of unchecked conversion resolve to eq/low bound or null if only upper is present) as these types won't be treated as wildcard parameterized ever (IDEA-150167) 2016-03-24 11:48:06 +01:00
Anna.Kozlova
c5c96608b7 most specific check for proper functional types fixed 2016-03-21 19:35:58 +01:00
Anna.Kozlova
a3aca75748 overload resolution: testdata for java 8 bug 2016-03-21 19:35:58 +01:00
Anna.Kozlova
ab7f16e4b9 testdata for IDEA-153284 2016-03-21 14:14:26 +01:00
Anna.Kozlova
3a700a9bc9 process override equivalent methods when check for functional interface target (IDEA-153324) 2016-03-21 14:14:26 +01:00
Anna.Kozlova
395c55df75 testdata for IDEA-150754 2016-03-18 15:50:22 +01:00
Anna.Kozlova
034012ae4e overload resolution: clear inference errors from nested calls when top level expression is abadoned as non-applicable (IDEA-150718; IDEA-153222) 2016-03-18 15:50:22 +01:00
Anna.Kozlova
53d3aa770c inference: don't include constraints to resolve if input bounds have proper instantiation but depends on the output of another constraints (IDEA-153164) 2016-03-17 21:25:32 +01:00
Anna.Kozlova
ec5245ed00 redundant cast: recapture wildcards for non-physical elements (IDEA-153166) 2016-03-17 18:04:01 +01:00
Anna.Kozlova
dcbb728074 testdata for IDEA-153076 2016-03-16 15:35:39 +01:00