Commit Graph

821 Commits

Author SHA1 Message Date
Anna.Kozlova 3dd26b5936 testdata on partially raw types inferred by javac 2016-05-09 19:42:35 +02:00
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